>>>> "dv" == Didier Verna
<didier(a)xemacs.org> writes:
dv>
EMACSBOOTSTRAPLOADPATH="/usr/local/src/XEmacs-21.2/src/../lisp/:/usr/local/src/xemacs"
EMACSBOOTSTRAPMODULEPATH="/usr/local/src/XEmacs-21.2/src/../modules/:/usr/local/src/xemacs"
./temacs -batch -l /usr/local/src/XEmacs-21.2/src/../lisp/update-elc.el
dv> Fatal error: assertion failed, file /usr/local/src/XEmacs-21.2/src/alloc.c, line
2447, abort()
This ones for Olivier.
First, let's have a more informative crash:
Index: src/alloc.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/alloc.c,v
retrieving revision 1.42.2.51
diff -u -w -r1.42.2.51 alloc.c
--- alloc.c 2000/02/21 23:07:07 1.42.2.51
+++ alloc.c 2000/02/22 12:57:29
@@ -2443,8 +2443,8 @@
void
dumpopaque (void *varaddress, size_t size)
{
- if (dumpopaqueidx >= countof (dumpopaquevec))
- abort ();
+ assert (dumpopaqueidx < countof (dumpopaquevec));
+
dumpopaquevec[dumpopaqueidx].data = varaddress;
dumpopaquevec[dumpopaqueidx].size = size;
dumpopaqueidx++;
My guess is:
Didier has a special site-load or whatever to load an unusually large
number of startup elisp. Executing that elisp generates some
opaques (see bytecode.c). This overflows a fixed length array.
First thing I would try (after being able to reproduce the problem,
which I cannot do currently), is to make all the fixed size arrays in
alloc.c into dynarrs.
Martin