From: Martin Rubey on
I just got the following message using SBCL 1.0.23 on a fairly large
calculation

fatal error encountered in SBCL pid 16649(tid 47930279815712): 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.
ldb> quit

and would like to know whether there is an alternative to the two
suggested fixes. (I'm not root, and I'm hesitant to compile sbcl
myself...)

If I really have to recompile, what is a reasonable value for
GENCGC-PAGE-SIZE on

$ free -m
total used free shared buffers cached
Mem: 16021 15278 743 0 140 14536
-/+ buffers/cache: 600 15420
Swap: 0 0 0


Martin
From: Tamas K Papp on
On Sun, 24 Jan 2010 16:07:05 +0100, Martin Rubey wrote:

> and would like to know whether there is an alternative to the two
> suggested fixes. (I'm not root, and I'm hesitant to compile sbcl
> myself...)

Recompiling SBCL is extremely easy and straightforward. You need an
existing Lisp, but you already have one. Instructions are in the
source tarball.

> If I really have to recompile, what is a reasonable value for
> GENCGC-PAGE-SIZE on

If you don't get an answer here, try the sbcl mailing list, you are
more likely to get an answer to implementation-specific questions.

Tamas
From: Martin Rubey on
Tamas K Papp <tkpapp(a)gmail.com> writes:

> On Sun, 24 Jan 2010 16:07:05 +0100, Martin Rubey wrote:
>
>> and would like to know whether there is an alternative to the two
>> suggested fixes. (I'm not root, and I'm hesitant to compile sbcl
>> myself...)
>
> Recompiling SBCL is extremely easy and straightforward. You need an
> existing Lisp, but you already have one. Instructions are in the
> source tarball.

Well, it turned out that it's as easy as you said, BUT:

GENCGC-PAGE-SIZE in 'src/target/parms.lisp'

is a very strange hint indeed. src/target/parms.lisp doesn't exist, and
a grep for GENCGC-PAGE-SIZE didn't return a single hit...

I guess I'll have to subscribe to sbcl-help or so. Not pleasant.

Martin
From: Waldek Hebisch on
Martin Rubey <axiomize(a)yahoo.de> wrote:
> Tamas K Papp <tkpapp(a)gmail.com> writes:
>
> > On Sun, 24 Jan 2010 16:07:05 +0100, Martin Rubey wrote:
> >
> >> and would like to know whether there is an alternative to the two
> >> suggested fixes. (I'm not root, and I'm hesitant to compile sbcl
> >> myself...)
> >
> > Recompiling SBCL is extremely easy and straightforward. You need an
> > existing Lisp, but you already have one. Instructions are in the
> > source tarball.
>
> Well, it turned out that it's as easy as you said, BUT:
>
> GENCGC-PAGE-SIZE in 'src/target/parms.lisp'
>
> is a very strange hint indeed. src/target/parms.lisp doesn't exist, and
> a grep for GENCGC-PAGE-SIZE didn't return a single hit...
>

in 1.0.33 the relevant parameter seem to be gencgc-page-bytes in
src/compiler/*/backend-parms.lisp

--
Waldek Hebisch
hebisch(a)math.uni.wroc.pl
From: Rob Warnock on
Martin Rubey <axiomize(a)yahoo.de> wrote:
+---------------
| Tamas K Papp <tkpapp(a)gmail.com> writes:
| > Recompiling SBCL is extremely easy and straightforward. You need an
| > existing Lisp, but you already have one. Instructions are in the
| > source tarball.
|
| Well, it turned out that it's as easy as you said, BUT:
|
| GENCGC-PAGE-SIZE in 'src/target/parms.lisp'
|
| is a very strange hint indeed. src/target/parms.lisp doesn't exist,
+---------------

My guess is that "target" is supposed to be a symlink to your target
machine's architecture, e.g., look for a "src/x86/parms.lisp" or
"src/compiler/x86/parms.lisp" maybe.

+---------------
| and a grep for GENCGC-PAGE-SIZE didn't return a single hit...
+---------------

SBCL has changed a lot since it forked from CMUCL, but in CMUCL
a lot of the parameter-type symbols were constructed from macros
such as DEFENUM (which adds prefixes and/or suffixes to names),
so you might want to check for that.


-Rob

-----
Rob Warnock <rpw3(a)rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607