From: Nikodemus S. <nik...@ra...> - 2012-05-28 20:07:44
|
On 28 May 2012 06:33, Dimitar Kenanov <di...@ai...> 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 > increase > the maximum with e.g. 'echo 262144 > /proc/sys/vm/max_map_count' or > recompile > SBCL with a larger value for GENCGC-CARD-BYTES in > 'src/compiler/target/backend-parms.lisp'. > ------------ > > 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: > > ----------- > obj/from-xc/src/pcl/walk.lisp-obj > [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" > RUNNING > {10029612A3}>: > 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.) Cheers, -- nikodemus |