Michael Hannemann wrote on Fri, Mar 20, 2009 at 03:21:20PM -0400:
> Hi there,
>
> Apologies if this is a FAQ, although I searched the web and did not
> see anything immediately apropos.
>
> I seem to get the following error fairly often, when running my program:
>
> ---
> fatal error encountered in SBCL pid 2226(tid 46912496231472):
> 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-PAGE-SIZE in 'src/target/parms.lisp'.
At work we have SBCL compiled with a larger *backend-page-bytes* (same
thing) for this reason.
I couldn't observe a real performance difference.
I think we might want to bump the default in mainline SBCL. We use 32
KB.
Martin
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@...> http://www.cons.org/cracauer/
FreeBSD - where you want to go, today. http://www.freebsd.org/

Hi there,
Apologies if this is a FAQ, although I searched the web and did not
see anything immediately apropos.
I seem to get the following error fairly often, when running my program:
---
fatal error encountered in SBCL pid 2226(tid 46912496231472):
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-PAGE-SIZE in 'src/target/parms.lisp'.
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
---
This is a pre-compiled SBCL 1.0.25, running on linux x86-64 (AMD).
I've been starting it up with a large amount of memory available
(--dynamic-space-size 120000), although the program isn't using
anywhere near that much right now, that was just for testing large
allocations and I left the value in my shell script. Changing this
to a smaller amount (32,000 MB) didn't help.
I have some sysadmin rights on this machine, so I may be able to
change that value. But, I also looked at following the advice of the
error message. Contrary to this post:
http://article.gmane.org/gmane.lisp.steel-bank.general/2185/match=enomem
I don't see the string "GENCGC-PAGE-SIZE" appearing anywhere in the
SBCL 1.0.25 source, except for in that linux warning message.
I think I have two questions:
1. Is this error message actually descriptive of the real problem, or
should I be looking elsewhere on my system or in my code?
2. If I did recompile SBCL, is there something I could change to
affect this behavior?
thanks,
Michael
---
mrh3@...

contrib/sb-bsd-sockets/constants.lisp has an extra trailing )
What amazes me is that I didn't manage to hit this until using
mudballs' documentation autogeneration system, which makes me wonder
if, somehow, it's not actually a bug?
-Robin
--
They say: "The first AIs will be built by the military as weapons."
And I'm thinking: "Does it even occur to you to try for something
other than the default outcome?" -- http://shorl.com/tydruhedufogrehttp://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/