On Mon, Sep 05, 2005 at 03:37:41PM -0600, Robert Dodier wrote:
> I'm trying to run sbcl 0.9.4 on Fedora 1-3 (kernel 2.4.22-1.2115.nptl).
> I've tried executing sbcl from the rpm and also after rebuilding from
> the source code.
> In both cases I get this message:
> ensure_space: failed to validate 536870912 bytes at 0x09000000
> Maybe someone can clarify what this message means.
It basically means that an attempt to reserve the memory between
0x09000000 and 0x29000000 for SBCL with mmap failed for one reason or
> I'm guessing that sbcl is looking for more memory than what it found --
> is there a way to configure it to use less?
Currently there's no way to attempt to reserve less memory, except by
editing src/compiler/x86/parms.lisp and recompiling.
I gather that earlier versions of SBCL work on that computer? In that
case it's more likely that the problem isn't actually the amount of
memory that's getting allocated, but that something else has already
been mapped somewhere in the region we're trying to reserve. SBCL
versions before 0.9.4 would silently override the earlier mappings,
leading to mysterious segfaults in some situations.
The most likely reason for this is some sort of memory randomization
security misfeature. I don't know exactly which ones that kernel would
have, but you could try the following:
* Does starting SBCL as "setarch i386 sbcl" or "setarch i386 -R sbcl"
* Does "echo 0 > /proc/sys/kernel/exec-shield" (as root) help?
* Does "echo 0 > /proc/sys/kernel/randomize_va_space" (as root) help?
If none of the above help, can you post the output of "cat
/proc/self/maps" and "strace sbcl", so that we can see where the