Re: Segmentation fault when trying to use the max heap
Raymond Toy <[email protected]> Sat, 27 Feb 2016 21:45:53 -0800
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Chisheng" == Chisheng Huang <[email protected]> writes: Chisheng> Raymond Toy <[email protected]> writes: >>>>>>> "Chisheng" == Chisheng Huang <[email protected]> writes: [snip] >> >> Thanks for the report. I'm guessing that this means that address >> space used for the heap overlaps some other important system space. >> >> Can you send the output of cat /proc/<pid>/maps for the lisp process >> with a heap size of 1500? That should give a hint at what's going on. >> CMUCL expects that the heap can use all of the memory from 0x58100000 >> to 0xbe000000. This seems to be true on my Fedora system. >> >> What 32-bit linux system are you running on? Chisheng> It's Ubuntu 11.10 on a virtual machine (VirtualBox). The Chisheng> /proc/<pid>/maps of a CMUCL process with a heap size of 1500 is Chisheng> attached at the end. Thank you very much. [snip] Chisheng> 58100000-58102000 rwxp 01cab000 08:01 1416903 /usr/local/cmucl-2016-02/lib/cmucl/lib/lisp-sse2.core Chisheng> 58102000-b5d00000 rwxp 00000000 00:00 0 Ok. The max memory (in x86-validate-linux.h) expects to be able to allocate memory up to 0xbe000000... Chisheng> b7b82000-b7fea000 rw-p 00000000 00:00 0 Chisheng> b7ffe000-b8000000 rw-p 00000000 00:00 0 Chisheng> bffdf000-c0000000 rw-p 00000000 00:00 0 [stack] but this map shows that you have something at 0xb7b82000. This probably explains why you can't allocate the full 1631 MB that x86-validate-linux.h thinks are available. For portability I'll have to reduce that limit so that the top of the heap is below 0xb7b82000 or so for a max of 1530 MB or so. Can you verify that -dynamic-space-size 1530 works? Thanks, -- Ray _______________________________________________ cmucl-help mailing list [email protected] http://lists.zs64.net/mailman/listinfo/cmucl-help