redirecting thread to xemacs-beta
>>>> "Andrew" == Andrew Begel
<abegel(a)cs.berkeley.edu> writes:
Andrew> However, something in regexp.c is sure broken. Here's the
Andrew> crash I get when starting xemacs when missing a needed
Andrew> file in a load statement in my init.el file. Running
Andrew> xemacs -q eliminates the segfault.
Looks like the known "not so big Mac stack" problem. See PROBLEMS for
details, but the gist is that the standard 512kB stack is way too
small, and setting it to 8MB is suggested. If you have already
adjusted your stack, and this is something different, please say so!
A patch to increase the stack size XEmacs requests automatically at
run time has been suggested, but this is just plain wrong. The
problem is the use of alloca for allocating the "failure stack" in the
regexp interpreter. The real problem is not that alloca limits size,
it's that alloca has only one failure mode on many platforms: stack
corruption. Eventually we'll see a failure, and alloca guarantees
that it will only be indirectly diagnosable, and not preventable.
This needs to be fixed, by switching from alloca to malloc at some
fixed level. Searches that use more than 1kB (one KILObyte) are rare
---it's possible that switching to malloc when the stack size hits 1k
would have negligible performance impact. Demanding an extra 7.5MB
for the rare case seems absurd, especially since it's not always enough.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.