|--==> "JJ" == Jerry James <james(a)xemacs.org> writes:
JJ> Steve Youngs <youngs(a)xemacs.org> wrote:
>(eicq-gdb) bt
>#0 0x403a6361 in __kill () at __kill:-1
>#1 0x080df367 in fatal_error_signal (sig=11) at emacs.c:3440
>#2 <signal handler called>
>#3 0x08283d1a in x_find_frame_for_window (d=0x0, wdesc=33554972) at frame-x.c:153
JJ> Clearly, the segfault is due to the NULL d parameter, but ...
>#4 0x08283dfc in x_any_widget_or_parent_to_frame (d=0x8683fa8,
widget=0x86b10a0) at frame-x.c:192
JJ> ... if you look at the code, x_any_widget_or_parent_to_frame simply
JJ> passes its d parameter down to x_find_frame_for_window, so that NULL d
JJ> parameter should have contained 0x8683fa8!
JJ> Does it go away if you recompile frame-x.c without optimization?
Doesn't look it, no. But that d parameter is getting the right (well,
not NULL) value.
I rm'd frame-x.o and removed the optimisation flags from the Makefiles
and rebuilt...
Fatal error (11).
Lisp backtrace follows:
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
#<subr delete-frame (interactive)>()
# bind (command-debug-status)
call-interactively(delete-frame)
# (condition-case ... . error)
# (catch top-level ...)
C trace...
GNU gdb 5.2
Copyright 2002 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 "i386-slackware-linux"...
Core was generated by `./xemacs -vanilla'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libneXtaw.so.0...done.
Loaded symbols for /usr/local/lib/libneXtaw.so.0
Reading symbols from /usr/lib/libtiff.so.3...done.
Loaded symbols for /usr/lib/libtiff.so.3
Reading symbols from /usr/lib/libpng.so.3...done.
Loaded symbols for /usr/lib/libpng.so.3
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/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 /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so...done.
Loaded symbols for /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
Reading symbols from /lib/libgpm.so.1...done.
Loaded symbols for /lib/libgpm.so.1
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
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/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/X11R6/lib/X11/locale/common/xlcDef.so.2...done.
Loaded symbols for /usr/X11R6/lib/X11/locale/common/xlcDef.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.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
Reading symbols from /usr/X11R6/lib/X11/locale/common/ximcp.so.2...done.
Loaded symbols for /usr/X11R6/lib/X11/locale/common/ximcp.so.2
Reading symbols from /usr/X11R6/lib/X11/locale/common/xomGeneric.so.2...done.
Loaded symbols for /usr/X11R6/lib/X11/locale/common/xomGeneric.so.2
#0 0x403a6361 in __kill () at __kill:-1
in __kill
(eicq-gdb) bt
#0 0x403a6361 in __kill () at __kill:-1
#1 0x080e05f8 in fatal_error_signal (sig=11) at emacs.c:3440
#2 <signal handler called>
#3 0x082916dc in x_find_frame_for_window (d=0x858b268, wdesc=33554972) at frame-x.c:151
#4 0x0829179b in x_any_widget_or_parent_to_frame (d=0x858b268, widget=0x851b290) at
frame-x.c:192
#5 0x08291647 in x_any_window_to_frame (d=0x858b268, wdesc=33554972) at frame-x.c:134
#6 0x0828deca in x_event_to_emacs_event (x_event=0xbfffea7c, emacs_event=0x8871c88) at
event-Xt.c:1512
#7 0x08290e60 in emacs_Xt_event_handler (wid=0x851b290, closure=0x0, event=0xbfffea7c,
continue_to_dispatch=0xbfffe96b "\001") at event-Xt.c:2852
#8 0x4014f30d in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6
#9 0x4014fb6e in _XtOnGrabList () from /usr/X11R6/lib/libXt.so.6
#10 0x4014fed8 in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6
#11 0x4015a850 in XtAppProcessEvent () from /usr/X11R6/lib/libXt.so.6
#12 0x082903b5 in emacs_Xt_drain_queue () at event-Xt.c:2882
#13 0x08100eba in event_stream_quit_p () at event-stream.c:784
#14 0x082446f3 in check_quit () at signal.c:987
#15 0x080e9b4a in unbind_to_hairy (count=2) at eval.c:5920
#16 0x080ec95b in unbind_to_1 (count=2, value=1078866496) at eval.c:5903
#17 0x080dd141 in elisp_maphash (function=0x8178904 <check_instance_cache_mapper>,
hash_table=143006328, extra_arg=0x8885d88) at elhash.c:1379
#18 0x08177f7d in check_window_subwindow_cache (w=0x8885d88) at glyphs.c:663
#19 0x082b78a2 in mark_window_as_deleted (w=0x8885d88) at window.c:2110
#20 0x082bf0ba in delete_all_subwindows (w=0x8885d88) at window.c:5205
#21 0x082bf032 in delete_all_subwindows (w=0x883fde0) at window.c:5201
#22 0x0815dafa in delete_frame_internal (f=0x8831218, force=0,
called_from_delete_device=0, from_io_error=0) at frame.c:1708
#23 0x0815e06f in Fdelete_frame (frame=1078866496, force=1078866496) at frame.c:1859
#24 0x080e746a in Ffuncall (nargs=1, args=0xbfffeef8) at eval.c:3825
#25 0x080a5952 in Fcall_interactively (function=1078808104, record_flag=1078866496,
keys=1078866496) at callint.c:591
#26 0x080e5ad9 in Fcommand_execute (cmd=1078808104, record_flag=1078866496,
keys=1078866496) at eval.c:3099
#27 0x080fe1ed in execute_command_event (command_builder=0x860a3b0, event=141799592) at
event-stream.c:4211
#28 0x080fecd2 in Fdispatch_event (event=141799592) at event-stream.c:4575
#29 0x080b271f in Fcommand_loop_1 () at cmdloop.c:582
#30 0x080b29ea in command_loop_1 (dummy=1078866496) at cmdloop.c:501
#31 0x080e3d78 in condition_case_1 (handlers=1078864336, bfun=0x80b29ac
<command_loop_1>, barg=1078866496, hfun=0x80b2a5c <cmd_error>,
harg=1078866496) at eval.c:1889
#32 0x080b2b51 in command_loop_2 (dummy=1078866496) at cmdloop.c:264
#33 0x080ec88c in internal_catch (tag=1078629592, func=0x80b2b10 <command_loop_2>,
arg=1078866496, threw=0x0, thrown_tag=0x0) at eval.c:1510
#34 0x080b23c3 in initial_command_loop (load_me=1078866496) at cmdloop.c:313
#35 0x080df958 in sort_args (argc=2, argv=0xbffff4a4) at emacs.c:2354
#36 0x080e193d in main (argc=2, argv=0xbffff4a4, envp=0xbffff4b0) at emacs.c:2730
#37 0x4039517d in __libc_start_main (main=0x80e18bc <main>, argc=2,
ubp_av=0xbffff4a4, init=0x80865bc <_init>, fini=0x82d0e90 <_fini>,
rtld_fini=0x4000a534 <_dl_fini>, stack_end=0xbffff49c) at
../sysdeps/generic/libc-start.c:129
(eicq-gdb) quit
--
|---<Steve Youngs>---------------<GnuPG KeyID: 10D5C9C5>---|
| XEmacs - It's not just an editor. |
| It's a way of life. |
|------------------------------------<youngs(a)xemacs.org>---|