On 28 May 2012 06:33, Dimitar Kenanov <dimitar@...> wrote:
> firstly i am working on 64 bit Slackware linux with 64Gb RAM. Version of
> SBCL is 1.0.57. Page size of my system is 4096.
> I do not know how to program in SBCL but I have a program that uses SBCL
> and after a while SBCL exits with the known error:
> fatal error encountered in SBCL pid 10894(tid 140737353926400):
> An mprotect call failed with ENOMEM. This probably means that the
> maximum amount
> of separate memory mappings was exceeded. To fix the problem, either
> the maximum with e.g. 'echo 262144 > /proc/sys/vm/max_map_count' or
> SBCL with a larger value for GENCGC-CARD-BYTES in
> So i went to the specified file and changed the value there to:(setf
> *backend-page-bytes* 2097152)) and tried to compile. But then the
> compiler exits with the following error:
> [building initial core file in "output/cold-sbcl.core":
> writing 2097152 bytes [1 page] from #<SB!FASL::GSPACE :READ-ONLY>
> unhandled SB-INT:INVALID-ARRAY-INDEX-ERROR in thread #<SB-THREAD:THREAD
> "main thread"
> Index 1 out of bounds for (SIMPLE-VECTOR 1), should be nonnegative
> and <1.
Thanks for the report! I've reproduced this, but haven't yet had time
to dig in.
This /is/ unexpected, but it may take a bit before it's fixed.
Did you try the
echo 262144 > /proc/sys/vm/max_map_count
solution? (As root, possibly using an even larger integer.)