Unfortunately, there is no Lisp backtrace to be had, and I was unable
to reproduce the crash. It is a segv during gc_sweep().
What I was doing was... I am goofing with a script that acts as a
front end to XEmacs; it's similar to the one in the distribution that
uses gnuclient or starts a fresh XEmacs session. I've got it testing
to see if a "-display" option was passed or if $DISPLAY is set, and
if neither is true, and we are on a tty, then it ommits the
"-unmapped" argument, since XEmacs can't cope with that when
stdin/out are not a tty and DISPLAY is not set somehow.
I opened a terminal, unset DISPLAY, started a `screen', and then
typed `xg', the name of my script. Since there was no response to
the test for a running gnuserv, it started an XEmacs -f
gnuserv-start. No problems. I flipped to another screen, and ran
`xg' again. Boink, instant new frame. I can flip between them using
the `screen' escapes. Next, I opened a second terminal, this time
leaving DISPLAY set, and ran `xg'. Crash!
I've tried it again several time, and cannot get it to crash again.
When I run the gnuclient with DISPLAY set, it opens an X frame.
There's a bug here though; that X frame is not initialized fully.
The background is white, rather than the pixmap I have configured.
Here's the bomb crater:
bittersweet% gdb =xemacs core-20001102-00-48-43
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Core was generated by `xemacs -f gnuserv-start'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/X11R6/lib/libXaw3d.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXaw3d.so.6
Reading symbols from /usr/lib/libtiff.so.3...done.
Loaded symbols for /usr/lib/libtiff.so.3
Reading symbols from /usr/lib/libpng.so.2...done.
Loaded symbols for /usr/lib/libpng.so.2
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libcompface.so.1...done.
Loaded symbols for /usr/lib/libcompface.so.1
Reading symbols from /usr/X11R6/lib/libXpm.so.4...done.
Loaded symbols for /usr/X11R6/lib/libXpm.so.4
Reading symbols from /usr/X11R6/lib/libXmu.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXmu.so.6
Reading symbols from /usr/X11R6/lib/libXt.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXt.so.6
Reading symbols from /usr/X11R6/lib/libXext.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXext.so.6
Reading symbols from /usr/X11R6/lib/libX11.so.6...done.
Loaded symbols for /usr/X11R6/lib/libX11.so.6
Reading symbols from /usr/X11R6/lib/libSM.so.6...done.
Loaded symbols for /usr/X11R6/lib/libSM.so.6
Reading symbols from /usr/X11R6/lib/libICE.so.6...done.
Loaded symbols for /usr/X11R6/lib/libICE.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/libdb2.so.2...done.
Loaded symbols for /usr/lib/libdb2.so.2
Reading symbols from /usr/lib/libgpm.so.1...done.
Loaded symbols for /usr/lib/libgpm.so.1
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /usr/lib/libesd.so.0...done.
Loaded symbols for /usr/lib/libesd.so.0
Reading symbols from /usr/lib/libaudiofile.so.0...done.
Loaded symbols for /usr/lib/libaudiofile.so.0
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /usr/lib/libpq.so.2.1...done.
Loaded symbols for /usr/lib/libpq.so.2.1
Reading symbols from /usr/lib/libopenldap.so.1...done.
Loaded symbols for /usr/lib/libopenldap.so.1
Reading symbols from /usr/lib/liblber-openldap.so.1...done.
Loaded symbols for /usr/lib/liblber-openldap.so.1
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
#0 0x403a2dc1 in kill () from /lib/libc.so.6
(gdb) where full
#0 0x403a2dc1 in kill () from /lib/libc.so.6
No symbol table info available.
#1 0x80c0033 in fatal_error_signal (sig=11)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/emacs.c:531
No locals.
#2 0x403a2cf8 in sigaction () from /lib/libc.so.6
No symbol table info available.
#3 0x8089c2f in gc_sweep ()
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/alloc.c:3186
No locals.
#4 0x808a2eb in garbage_collect_1 ()
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/alloc.c:3506
speccount = 15
cursor_changed = 1
pre_gc_cursor = 143323096
gcpro1 = {next = 0xbfffea80, var = 0xbfffe97c, nvars = 1}
#5 0x80c910f in Ffuncall (nargs=2, args=0xbfffea28)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/eval.c:3477
fun = 33
val = -1073747412
backtrace = {next = 0xbfffeb54, function = 0xbfffea2c,
args = 0xbfffea30, nargs = 1, pdlcount = 0, evalargs = 88 'X',
debug_on_exit = 2 '\002'}
fun_nargs = 1
fun_args = (Lisp_Object *) 0xbfffea2c
#6 0x8098afe in execute_optimized_program (
program=0x87d4db8 "Æ\016\036!ÇÈÇ\211\211É\036 \030\032\031\034\035\eÈ\024ÊË!«\021\016\013:«\f\016\013\022ÌÍ \n\"\021ª ÊÎ!«\027\016\016:«\022\016\016@\016\016AÏE\022ÌÍ \n\"\021ª\005Ð\022Ï\021\013«s\013@\025Ñ\r!«\aÒ\r!\020ª\rÓ\rÏÔ\r!\016!Z]\"\210Ñ\r!«\020Ì\b\n\"ÏV¬\017\tÔ\r!Wª\006Ô\r!ÏV«%Ñ\r!«\030\tÔ\r!W«\n\fÔ\r!\tZ^ª\r\fÔ\r!^ª\006\fÔ\r!^\024ª\024Ñ\r!«\aÕ\rÍ \"\210Ö\216×ØÙ\217\210)\013A\211\023¬\217\016\036\211\023«\016\fÔ\013@!"..., stack_depth=1,
constants_data=0x8544638)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/bytecode.c:746
n = 1
opcode = 33
program_ptr = (
Opbyte *) 0x87d4e09 "«\aÒ\r!\020ª\rÓ\rÏÔ\r!\016!Z]\"\210Ñ\r!«\020Ì\b\n\"ÏV¬\017\tÔ\r!Wª\006Ô\r!ÏV«%Ñ\r!«\030\tÔ\r!W«\n\fÔ\r!\tZ^ª\r\fÔ\r!^ª\006\fÔ\r!^\024ª\024Ñ\r!«\aÕ\rÍ \"\210Ö\216×ØÙ\217\210)\013A\211\023¬\217\016\036\211\023«\016\fÔ\013@!^\024\013A\211\023¬ôÚÛ!\211\036\037«\fÜ\016\037!«\006\212Ý \210))\f.\a\207\001"
stack_ptr = (Lisp_Object *) 0xbfffea28
speccount = 8
gcpro1 = {next = 0xbfffebd0, var = 0xbfffea28, nvars = 8}
stack_beg = (Lisp_Object *) 0xbfffea24
stack_end = (Lisp_Object *) 0xbfffea44
#7 0x8098713 in funcall_compiled_function (fun=139713212, nargs=1,
args=0xbfffeb8c)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/bytecode.c:518
value = 143537252
speccount = 7
i = 1
optional = 0
#8 0x80c94af in Ffuncall (nargs=2, args=0xbfffeb88)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/eval.c:3563
fun = 139713212
val = -1073747060
backtrace = {next = 0xbfffeca4, function = 0xbfffeb88,
args = 0xbfffeb8c, nargs = 1, pdlcount = 7, evalargs = 0 '\000',
debug_on_exit = 0 '\000'}
fun_nargs = 1
fun_args = (Lisp_Object *) 0xbfffeb8c
#9 0x8098afe in execute_optimized_program (
program=0x87d4d78 "\013?&Æ\211\036\017\eÇ \034È\f\n\"\031É\035\f\022Ê\t!\025Ë\b!\210\r\026\020Ì\rÍÉÎ$\211\020-\207", stack_depth=1,
constants_data=0x8546888)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/bytecode.c:746
n = 1
opcode = 33
program_ptr = (
Opbyte *) 0x87d4d90 "\025Ë\b!\210\r\026\020Ì\rÍÉÎ$\211\020-\207"
stack_ptr = (Lisp_Object *) 0xbfffeb88
speccount = 2
gcpro1 = {next = 0xbfffecf0, var = 0xbfffeb88, nvars = 6}
stack_beg = (Lisp_Object *) 0xbfffeb84
stack_end = (Lisp_Object *) 0xbfffeb9c
#10 0x8098713 in funcall_compiled_function (fun=139713464, nargs=1,
args=0xbfffecec)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/bytecode.c:518
value = 137546492
speccount = 1
i = 0
optional = 0
#11 0x80c94af in Ffuncall (nargs=2, args=0xbfffece8)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/eval.c:3563
fun = 139713464
val = -1073746708
backtrace = {next = 0x0, function = 0xbfffece8, args = 0xbfffecec,
nargs = 1, pdlcount = 1, evalargs = 0 '\000', debug_on_exit = 0 '\000'}
fun_nargs = 1
fun_args = (Lisp_Object *) 0xbfffecec
#12 0x80cea62 in call1 (fn=0, arg0=11)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/eval.c:4183
ret_ungc_val = -1073748620
gcpro1 = {next = 0xbfffedc4, var = 0xbfffece8, nvars = 2}
args = {139738956, 137546492}
#13 0x8120257 in execute_internal_event (event=141287812)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/event-stream.c:3059
No locals.
#14 0x8122559 in Fdispatch_event (event=141287812)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/event-stream.c:4232
console = 142714560
channel = 137546492
#15 0x80a7424 in Fcommand_loop_1 ()
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/cmdloop.c:579
event = 141287812
old_loop = 137546492
gcpro1 = {next = 0xbfffee38, var = 0xbfffedc0, nvars = 1}
gcpro2 = {next = 0xbfffedd0, var = 0xbfffedbc, nvars = 1}
was_locked = 0
#16 0x80a76c2 in command_loop_1 (dummy=137546492)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/cmdloop.c:494
No locals.
#17 0x80cf563 in condition_case_1 (handlers=137546588,
bfun=0x80a7684 <command_loop_1>, barg=137546492,
hfun=0x80a7734 <cmd_error>, harg=137546492)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/eval.c:1651
speccount = 0
c = {tag = 140544396, val = 137546492, next = 0xbfffef54, gcpro = 0x0,
jmp = {{__jmpbuf = {137546492, -1073745820, -1073745596, -1073746180,
-1073746428, 135066856}, __mask_was_saved = 0, __saved_mask = {
__val = {134646706, 140262444, 3221221172, 1077400020, 1077339112,
3221221380, 3221221172, 0, 15, 3221221172, 15, 3221221148,
135898566, 3221221172, 1, 1073832140, 1077341016, 137725684, 0,
3221221156, 1077833123, 3221221140, 1073791465, 1073832140,
1077341016, 7, 0, 1077457233, 1077819789, 1078427080, 1073791294,
137546492}}}}, backlist = 0x0, lisp_eval_depth = 0, pdlcount = 0}
gcpro1 = {next = 0x0, var = 0xbfffef14, nvars = 1}
#18 0x80a7827 in command_loop_2 (dummy=137546492)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/cmdloop.c:256
No locals.
#19 0x80cf42c in internal_catch (tag=-1073748620,
func=0x80a77ec <command_loop_2>, arg=137546492, threw=0x0)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/eval.c:1317
c = {tag = 137622780, val = 137546492, next = 0x0, gcpro = 0x0, jmp = {
{__jmpbuf = {137546492, -1073745820, -1073745596, -1073745908,
-1073746124, 135066631}, __mask_was_saved = 0, __saved_mask = {
__val = {3221221476, 3221221476, 3221221476, 3221221476, 3221221493,
3288330339, 3221221476, 3288330339, 0, 0, 0, 0, 0, 138410124, 12,
3221221356, 134217728, 3221221220, 16, 3221221372, 134775194,
140262444, 4294967295, 140262444, 3221221356, 3221221428,
1073791465, 1073832140, 1077341016, 7, 0, 3221221420}}}},
backlist = 0x0, lisp_eval_depth = 0, pdlcount = 0}
#20 0x80a6c68 in initial_command_loop (load_me=0)
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/cmdloop.c:305
No locals.
#21 0x80c106e in xemacs_21_2_b35_i686_bittersweet_linux ()
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/emacs.c:2228
stack_bottom_variable = 0 '\000'
skip_args = 0
load_me = 137546492
inhibit_window_system = -1073745820
#22 0x80c3082 in main ()
at /usr/local/src/PKG/woody/main/xemacs/xemacs/src/emacs.c:2657
vol_argc = 3
vol_argv = (char **) 0xbffff144
vol_envp = (char **) 0xbffff154
restarted = 0
#23 0x40393b8c in __libc_start_main () from /lib/libc.so.6
No symbol table info available.