Yoshiki Hayashi <yoshiki(a)xemacs.org> writes:
> Evaluating following test in glyph-test.el crashes XEmacs.
>
> (set-extent-begin-glyph
> (make-extent (point) (point))
> (make-glyph
> [button :face modeline-mousable
> :descriptor "ok" :callback foo
> :image [xpm :file "../etc/xemacs-icon.xpm"]]))
>
> Lisp backtrace and C stacktrace follows:
>
The same on XEmacs 21.2-b22 "Mercedes" configured for `i686-pc-linux'.
---------------------------------------------------------------------
xemacs -vanilla
Fatal error (11).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
If you have access to the PROBLEMS file that came with your
version of XEmacs, please check to see if your crash is described
there, as there may be a workaround available.
Otherwise, please report this bug by running the send-pr
script included with XEmacs, or selecting `Send Bug Report'
from the help menu.
As a last resort send ordinary email to `crashes(a)xemacs.org'.
*MAKE SURE* to include the information in the command
M-x describe-installation.
If at all possible, *please* try to obtain a C stack backtrace;
it will help us immensely in determining what went wrong.
To do this, locate the core file that was produced as a result
of this crash (it's usually called `core' and is located in the
directory in which you started the editor, or maybe in your home
directory), and type
gdb /usr/local/bin/xemacs core
then type `where' when the debugger prompt comes up.
(If you don't have GDB on your system, you might have DBX,
or XDB, or SDB. A similar procedure should work for all of
these. Ask your system administrator if you need more help.)
Lisp backtrace follows:
# (unwind-protect ...)
# (catch #<INTERNAL OBJECT (XEmacs bug?) (opaque_ptr, adr=0x819bd80) 0x81f2840> ...)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (inhibit-quit)
# (condition-case ... . error)
# (catch top-level ...)
---------------------------------------------------------------------
gdb /usr/local/bin/xemacs core
GNU gdb 4.18
Copyright 1998 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-redhat-linux"...
Core was generated by `xemacs -vanilla'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libesd.so.0...done.
Reading symbols from /usr/lib/libaudiofile.so.0...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /usr/X11R6/lib/libXaw3d.so.6...done.
Reading symbols from /usr/lib/libtiff.so.3...done.
Reading symbols from /usr/lib/libpng.so.2...done.
Reading symbols from /usr/lib/libjpeg.so.62...done.
Reading symbols from /usr/lib/libz.so.1...done.
Reading symbols from /usr/X11R6/lib/libXpm.so.4...done.
Reading symbols from /usr/X11R6/lib/libXmu.so.6...done.
Reading symbols from /usr/X11R6/lib/libXt.so.6...done.
Reading symbols from /usr/X11R6/lib/libXext.so.6...done.
Reading symbols from /usr/X11R6/lib/libX11.so.6...done.
Reading symbols from /usr/X11R6/lib/libSM.so.6...done.
Reading symbols from /usr/X11R6/lib/libICE.so.6...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libdb.so.3...done.
Reading symbols from /usr/lib/libgpm.so.1...done.
Reading symbols from /usr/lib/libncurses.so.4...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /lib/libnss_files.so.2...done.
(gdb) where
#0 0x402f64e1 in __kill () from /lib/libc.so.6
#1 0x8078861 in fatal_error_signal (sig=11) at emacs.c:276
#2 0x402f6408 in __restore () at ../sysdeps/unix/sysv/linux/i386/sigaction.c:127
#3 0x80c5f29 in instantiate_image_instantiator (device=138696504, domain=139130440,
instantiator=139329136, pointer_fg=136083460, pointer_bg=136083460, dest_mask=239)
at glyphs.c:605
#4 0x80c81c9 in image_instantiate (specifier=139328888, matchspec=135826156,
domain=139130440, instantiator=139329136, depth=3) at glyphs.c:2564
#5 0x807a520 in call_with_suspended_errors_1 (opaque_arg=136270848) at eval.c:2047
#6 0x807a89c in call_with_suspended_errors (fun=0x80c7ea4 <image_instantiate>,
retval=135826156, class=136083460, errb=ERROR_ME_NOT, nargs=5) at eval.c:1305
#7 0x8117cd1 in specifier_instance_from_inst_list (specifier=139328888, matchspec=135826156,
domain=139130440, inst_list=137958640, errb=ERROR_ME_NOT, no_quit=1, depth=3)
at specifier.c:2444
#8 0x8117fa4 in specifier_instance (specifier=139328888, matchspec=135826156,
domain=139130440, errb=ERROR_ME_NOT, no_quit=1, no_fallback=0, depth=1) at specifier.c:2559
#9 0x80cb549 in glyph_image_instance (glyph=139237336, domain=139130440, errb=ERROR_ME_NOT,
no_quit=1) at glyphs.c:3316
#10 0x80c88a8 in glyph_width (glyph_or_image=139237336, frame_face=136083460, window_findex=0,
window=139130440) at glyphs.c:3242
#11 0x80f6fb5 in add_glyph_rune (data=0xbffff46c, gb=0x84ceeb0, pos_type=0, allow_cursor=0,
cachel=0x0) at redisplay.c:1554
#12 0x80f7ad7 in create_text_block (w=0x84af648, dl=0x84d0768, bi_start_pos=336,
prop=0xbffff5b0, type=1) at redisplay.c:1769
#13 0x80f5e67 in generate_display_line (w=0x84af648, dl=0x84d0768, bounds=1, start_pos=336,
prop=0xbffff5b0, type=1) at redisplay.c:740
#14 0x80fc605 in regenerate_window (w=0x84af648, start_pos=336, point=385, type=1)
at redisplay.c:5140
#15 0x80fda20 in redisplay_window (window=139130440, skip_selected=0) at redisplay.c:6089
#16 0x80fdd54 in redisplay_frame (f=0x84af518, preemption_check=0) at redisplay.c:6359
#17 0x80fdebd in redisplay_device (d=0x8445738) at redisplay.c:6426
#18 0x80fe0e6 in redisplay_without_hooks () at redisplay.c:6517
#19 0x81029dc in redisplay () at redisplay.c:6574
#20 0x809c34c in Fnext_event (event=139210452, prompt=136083460) at event-stream.c:2236
#21 0x8062dcd in Fcommand_loop_1 () at cmdloop.c:566
#22 0x8062fee in command_loop_1 (dummy=136083460) at cmdloop.c:490
#23 0x807f98b in condition_case_1 (handlers=136083556, bfun=0x8062fd8 <command_loop_1>,
barg=136083460, hfun=0x80628e0 <cmd_error>, harg=136083460) at eval.c:1630
#24 0x80630cc in command_loop_2 (dummy=136083460) at cmdloop.c:252
#25 0x807f86f in internal_catch (tag=136157412, func=0x8063094 <command_loop_2>,
arg=136083460, threw=0x0) at eval.c:1305
#26 0x8062b1c in initial_command_loop (load_me=136083460) at cmdloop.c:301
#27 0x80772a2 in xemacs_21_2_b22_i686_pc_linux (argc=2, argv=0xbffffb44, envp=0xbffffb50,
restart=0) at emacs.c:1898
#28 0x8078a3f in main (argc=2, argv=0xbffffb44, envp=0xbffffb50) at emacs.c:2323
#29 0x402f01eb in __libc_start_main (main=0x8078940 <main>, argc=2, argv=0xbffffb44,
init=0x804dba0 <_init>, fini=0x815ac00 <_fini>, rtld_fini=0x4000a610 <_dl_fini>,
stack_end=0xbffffb3c) at ../sysdeps/generic/libc-start.c:90