>>>> "ms" == Michael Sperber
<sperber(a)informatik.uni-tuebingen.de> writes:
ms> That looks like the usual current problem with kkcc, namely
ms> that it uses more stack than the normal collector.
That's right. Basically, s/--use-kkcc + //.
CFLAGS += -DREGEX_MALLOC probably wins for you.
(-: Gnus is evil and always has been. I wouldn't have it any other
way. It's the best regression test we've got. :-)
Here the problem is very likely the regexp allocation scheme. Regexps
can be highly memory-intensive if you use backtracking (expressions
involving * are typical) and unlimited search in a big buffer. Gnus
does this a lot (note that the big buffer might be something as simple
as a short spam or virus mail containing lots of images or an
executable).
On the other hand, typically they're not, and thus we don't hang on to
the backtrack caches, we reallocate them on every invocation of the
internal regexp matcher. So for efficiency alloca is used. It seems
that in the distant past many allocas would return 0 on a failure, but
modern allocas (in particular gcc's and glibc's) generally make no
attempt to let you know about a failure.
If I understood his oblique comment correctly, Ben claims to have
tried to do something about this in 21.5, but not successfully, as I
crashed on a long error message from my 21.4-oriented init.el.
-DREGEX_MALLOC fixed the regexp crash.
--
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.