Hi,
I've just upgraded to FC 4 and xemacs started crashing when I'm trying to
search
for a tag. xemacs version is 21.4.15-9.
Use case:
I generated a tag file for the linux kernel using the command:
find . -name "*.[ch]" -print | etags -
I'm also using the emacs code browser package (ecb). I'm starting xemacs,
running
command 'ecb-activate' and trying to search for a tag. Then xemacs crashes.
It is very
reproducible, usually on the first or second tag search.
I got the following backtrace from gdb:
[cl@amber linux-2.6.11.7]$ gdb `which xemacs`
GNU gdb Red Hat Linux (6.3.0.0-1.21rh)
Copyright 2004 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-gnu"...(no debugging symbols
found)
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) r
Starting program: /usr/bin/xemacs
Reading symbols from shared object read from target memory...(no debugging
symbols found)...done.
Loaded system supplied DSO at 0x74b000
(no debugging symbols found)
(no debugging symbols found)
Detaching after fork from child process 20185.
Program received signal SIGSEGV, Segmentation fault.
0x008026f9 in XFillRectangle () from /usr/X11R6/lib/libX11.so.6
(gdb) bt
#0 0x008026f9 in XFillRectangle () from /usr/X11R6/lib/libX11.so.6
#1 0x081b9134 in XawGaugeGetValue ()
#2 0x081b93e5 in XawGaugeGetValue ()
#3 0x03e71e72 in _XtEventInitialize () from /usr/X11R6/lib/libXt.so.6
#4 0x03e72307 in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6
#5 0x03e72a5c in _XtOnGrabList () from /usr/X11R6/lib/libXt.so.6
#6 0x03e72d6a in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6
#7 0x03e7de78 in XtAppProcessEvent () from /usr/X11R6/lib/libXt.so.6
#8 0x08193536 in emacs_Xt_event_handler ()
#9 0x080f1cd1 in allocate_command_builder ()
#10 0x080f40db in Fdispatch_non_command_events ()
#11 0x080b3c23 in Feval ()
#12 0x080b1b9d in condition_case_1 ()
#13 0x080b322d in condition_case_3 ()
#14 0x0808f851 in execute_rare_opcode ()
#15 0x0808fc82 in execute_rare_opcode ()
#16 0x08092245 in funcall_compiled_function ()
#17 0x080b45fa in Ffuncall ()
#18 0x080903bb in execute_rare_opcode ()
#19 0x08092245 in funcall_compiled_function ()
#20 0x080b45fa in Ffuncall ()
#21 0x080903bb in execute_rare_opcode ()
#22 0x08092245 in funcall_compiled_function ()
#23 0x080b45fa in Ffuncall ()
#24 0x080903bb in execute_rare_opcode ()
#25 0x08092245 in funcall_compiled_function ()
#26 0x080b45fa in Ffuncall ()
#27 0x080903bb in execute_rare_opcode ()
#28 0x08092245 in funcall_compiled_function ()
#29 0x080b45fa in Ffuncall ()
#30 0x080903bb in execute_rare_opcode ()
#31 0x08092245 in funcall_compiled_function ()
#32 0x080b45fa in Ffuncall ()
#33 0x080903bb in execute_rare_opcode ()
#34 0x08092245 in funcall_compiled_function ()
#35 0x080b45fa in Ffuncall ()
#36 0x080903bb in execute_rare_opcode ()
#37 0x08092245 in funcall_compiled_function ()
#38 0x080b45fa in Ffuncall ()
#39 0x080903bb in execute_rare_opcode ()
#40 0x08092245 in funcall_compiled_function ()
#41 0x080b45fa in Ffuncall ()
#42 0x080903bb in execute_rare_opcode ()
#43 0x08092245 in funcall_compiled_function ()
#44 0x080b45fa in Ffuncall ()
#45 0x080903bb in execute_rare_opcode ()
#46 0x08092245 in funcall_compiled_function ()
#47 0x080b45fa in Ffuncall ()
#48 0x080b4f49 in run_hook_with_args_in_buffer ()
#49 0x080b50c2 in run_hook_with_args ()
#50 0x080b51da in Frun_hooks ()
#51 0x080b4798 in Ffuncall ()
#52 0x080903bb in execute_rare_opcode ()
#53 0x08092245 in funcall_compiled_function ()
#54 0x080b45fa in Ffuncall ()
#55 0x080903bb in execute_rare_opcode ()
---Type <return> to continue, or q <return> to quit---
#56 0x080924a3 in Fbyte_code ()
#57 0x080b3d9b in Feval ()
#58 0x080b1b9d in condition_case_1 ()
#59 0x080b322d in condition_case_3 ()
#60 0x0808f851 in execute_rare_opcode ()
#61 0x0808fc82 in execute_rare_opcode ()
#62 0x08092245 in funcall_compiled_function ()
#63 0x080b45fa in Ffuncall ()
#64 0x080903bb in execute_rare_opcode ()
#65 0x08092245 in funcall_compiled_function ()
#66 0x080b45fa in Ffuncall ()
#67 0x080903bb in execute_rare_opcode ()
#68 0x08092245 in funcall_compiled_function ()
#69 0x080b45fa in Ffuncall ()
#70 0x080b5332 in Fapply ()
#71 0x080b5419 in apply1 ()
#72 0x080936f9 in Fcall_interactively ()
#73 0x080b5b0d in Fcommand_execute ()
#74 0x080f5049 in extract_vector_nth_mouse_event ()
#75 0x080f53d4 in Fdispatch_event ()
#76 0x08099968 in Fcommand_loop_1 ()
#77 0x080b1b9d in condition_case_1 ()
#78 0x080994c9 in Freally_early_error_handler ()
#79 0x080afc13 in internal_catch ()
#80 0x08099624 in initial_command_loop ()
#81 0x080aeb30 in xemacs_21_4_15_i386_redhat_linux ()
#82 0x080af7b8 in main ()
(gdb)
Without gdb I'm getting the following output on stdout:
[cl@amber linux-2.6.11.7]$ xemacs
Fatal error (11).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
Your version of XEmacs was distributed with a PROBLEMS file that may
describe
your crash, and with luck a workaround. Please check it first, but do report
the crash anyway. Please report this bug by invoking M-x report-emacs-bug,
or by selecting `Send Bug Report' from the Help menu. If necessary, send
ordinary email to `crashes(a)xemacs.org <
http://xemacs.org>';. *MAKE SURE* to
include the XEmacs
configuration from M-x describe-installation, or equivalently the file
Installation in the top of the build tree.
*Please* try *hard* to obtain a C stack backtrace; without it, we are
unlikely
to be able to analyze the problem. Locate the core file produced as a result
of this crash (often called `core' or `core.<process-id>', and located in
the directory in which you started XEmacs or your home directory), and type
gdb /usr/bin/xemacs core
then type `where' at the debugger prompt. No GDB on your system? You may
have DBX, or XDB, or SDB. (Ask your system administrator if you need help.)
If no core file was produced, enable them (often with `ulimit -c unlimited'
in case of future recurrance of the crash.
Lisp backtrace follows:
dispatch-non-command-events()
# (condition-case ... . ((nil)))
progress-feedback-dispatch-non-command-events()
# bind (tmsg top frame value message label)
append-progress-feedback(font-lock "Fontifying aio.h..." 0 nil)
# bind (frame value message label)
display-progress-feedback(font-lock "Fontifying aio.h..." 0)
# bind (str)
# (unwind-protect ...)
# bind (args value fmt label)
progress-feedback-with-label(font-lock "Fontifying %s..." 0 "aio.h")
# bind (maybe-loudly end beg)
font-lock-default-unfontify-region(1 5947 t)
# bind (loudly end beg)
font-lock-unfontify-region(1 5947 t)
# bind (was-on font-lock-verbose font-lock-message-threshold aborted)
# (unwind-protect ...)
font-lock-default-fontify-buffer()
# bind (font-lock-verbose)
font-lock-fontify-buffer()
# bind (on-p maximum-size arg)
font-lock-mode(1)
turn-on-font-lock()
# bind (explicit-defaults)
font-lock-set-defaults()
run-hooks(font-lock-set-defaults)
# bind (nomodes after-find-file-from-revert-buffer noauto warn error)
after-find-file(nil t)
byte-code("..." [buffer-file-number number truename buffer-file-truename buf
buffer-file-name set-buffer-major-mode erase-buffer nil (byte-code «§Â
Ã\"¨ª¥Ä Ã\"¨Â§" [rawfile filename insert-file-contents-literally t
insert-file-contents] 3) ((file-error ...)) abbreviate-file-name
file-name-directory make-local-variable backup-inhibited t after-find-file
find-file-use-truenames default-directory backup-enable-predicate rawfile
error nowarn] 3)
# (condition-case ... . ((t (byte-code "!¨Ã @ A\"§" ... 3))))
# (unwind-protect ...)
# bind (error number truename buf rawfile nowarn filename)
find-file-noselect("/home/cl/kernel/linux-2.6.11.7/include/linux/aio.h<http://2.6.11.7/include/linux/aio.h>
")
# (unwind-protect ...)
# bind (next tmpnext exact normal-syntax-table exact-syntax-table
tag-table-currently-matching-exact tag-target exact-tagname tag-tables
tag-table-point file linebeg startpos buf offset found pat syn-tab tagname)
find-tag-internal("init_sync_kiocb")
# bind (next local-find-tag-hook other-window tagname)
#<compiled-function (tagname &optional other-window) "...(80)" [result
next
tagname local-find-tag-hook find-tag-hook tag-buf find-tag-internal
(find-tag find-tag-other-window tags-loop-continue) push-tag-mark
pop-to-buffer t switch-to-buffer push-mark run-hooks find-tag nil tag-point
last-command other-window tags-loop-scan tags-loop-operate] 4
("/usr/share/xemacs-21.4.15/lisp/etags.elc" . -16557) (byte-code
«¢Á§ÂÃ!ÄD§"
[current-prefix-arg ... find-tag-tag "Find tag: " nil]
2)>("init_sync_kiocb"
nil)
call-interactively(find-tag)
# (condition-case ... . error)
# (catch top-level ...)
Segmentation fault (core dumped)
[cl@amber linux-2.6.11.7]$
Any idea?
--
------------------------------------------------------
Etay Meiri
etay.meiri(a)gmail.com