Re: VM crashes on big INBOX file

From:

Baoqiu . Cui

Subject:

Re: VM crashes on big INBOX file

Date:

Fri, 26 Oct 2007 15:22:44 GMT

User-agent:

Gnus/5.1100000000000003 (Gnus v5.11) Emacs/22.1 (cygwin)

address@hidden writes:
> Reiner Steib <address@hidden> writes:
>
>>>>I also tried splitting this big folder into two (one with 44MB and
>>>>one with 35MB), and VM can also crash on the small ones sometimes.
>>
>> Please clarify if *Emacs* or *VM* crashes. (What to you mean by
>> "crash"?)
>
> It is Emacs that crashes... Everything is gone except a line of
> "Segmentation fault emacs" on the console. I can easily recreate
> this using the 79MB folder.
OK. After running GDB on Emacs, I finally found the real cause for the
crash. The problem is that, when VM is visiting the huge 79MB folder,
garbage collection is triggered and function mark_object() (in alloc.c)
is recursively called about 29,885 times!!! Too many levels of
mark_object() calls make the stack overflow, causing a segmentation
fault.
Since I am running Emacs on Cygwin, I had to change the following line
in src/Makefile
LD=$(CC) -Wl,--image-base,0x20000000
to something like
LD=$(CC) -Wl,--image-base,0x20000000,--stack,8000000
to increase the stack limit to ~8MB. After making this change and
rebuilding Emacs, now I am able to read the huge folder without any
problem.
Maybe some comments could be added in etc/PROBLEMS for such a problem.
Apparently, XEmacs has a higher stack limit on Cygwin.
Thanks to all of your for the help!
- Baoqiu