(I sent this first to xemacs(a)xemacs.org, but I intended to change the address
to "xemacs-beta", so I'm sending it again. I hope that won't confuse
anyone.)
This bug report will be sent to the XEmacs Development Team,
not to your local site managers!!
Please write in English, because the XEmacs maintainers do not have
translators to read other languages for them.
In XEmacs 21.4 (patch 4) "Artificial Intelligence" [Lucid] (i686-pc-cygwin) of
Sat Aug 11 2001 on WONDARK
configured using `configure --prefix=/usr'
Platform:
CYGWIN_NT-5.0 WONDARK 1.3.2(0.39/3/2) 2001-05-20 23:28 i686 unknown
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
I can repeatedly kill XEmacs with the following odd test case:
1. Start XEmacs. My init files finish with creating a shell buffer.
2. While viewing the initial shell buffer, create another shell buffer
(I use my own package that allows me to create multiple shell buffers).
3. In the shell, change directory to "java/sgs" (a directory off my home
directory).
4. Edit file "xml/data.xml".
About the last message I see in the message area is something like
"External entity DATABASE not found" (the root element of the file is
"database").
Then XEmacs goes away, very quickly, and I see the following line in the
console where I started XEmacs:
Fatal error: assertion failed, file bytecode.c, line 1477, abort()
I see a lot of information on the console at this time, saying how to try to
track down XEmacs crashes. I can't find a "core" file. I guess you
don't get
those in Cygwin?
From the fatal error description, the lisp backtrace is as follows:
xml-mode()
# bind (alist mode name keep-going)
# (unwind-protect ...)
# bind (just-from-file-name)
set-auto-mode()
byte-code("..." [set-auto-mode t] 1)
# (condition-case ... . ((error (byte-code "=c1=c2!\"=88=c4=87" ...
4))))
# bind (find-file)
normal-mode(t)
# 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 =ab=87=c2
=c3\"=88=aa=85=c4=c3\"=88=c2=87" [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 "!=88=c3 @ A\"=87" ...
3))))
# (unwind-protect ...)
# bind (error number truename buf rawfile nowarn filename)
find-file-noselect("~/java/sgs/xml/data.xml")
# bind (codesys filename)
find-file-other-window("~/java/sgs/xml/data.xml" nil)
# bind (command-debug-status)
call-interactively(find-file-other-window)
# (condition-case ... . error)
# (catch top-level ...)
I then tried using "gdb -nw /usr/bin/xemacs", and I was able to repeat the
crash. The stack trace follows.
#0 0x00000006 in ?? ()
#1 0x0040f7e0 in execute_optimized_program (
program=0xa333090 "df/\n|f/\n\224f/\n=acf/\n=dck2\n\fO_", stack_depth=5,
constants_data=0xa06e610) at bytecode.c:759
#2 0x0040f193 in funcall_compiled_function (fun=7678796, nargs=0,
args=0x2ace834) at bytecode.c:515
#3 0x0043a723 in Ffuncall (nargs=1, args=0x2ace830) at eval.c:3563
#4 0x0040f74b in execute_optimized_program (
program=0xa354d10 "\212\t=ab\n=c6\031=c7=c6!)\206=d0", stack_depth=5,
constants_data=0x6abc10) at bytecode.c:746
#5 0x0040f193 in funcall_compiled_function (fun=7017208, nargs=0,
args=0x2ace994) at bytecode.c:515
#6 0x0043a723 in Ffuncall (nargs=1, args=0x2ace990) at eval.c:3563
#7 0x0040f74b in execute_optimized_program (program=0x2ace9ec "=c0
\210=c1\207",
stack_depth=1, constants_data=0x696ab0) at bytecode.c:746
#8 0x004122ca in Fbyte_code (instructions=6966132, constants=6908576,
stack_depth=3) at bytecode.c:2403
#9 0x00439bf5 in Feval (form=6971040) at eval.c:3331
#10 0x00437154 in condition_case_3 (bodyform=6971040, var=6742932,
handlers=6918068) at eval.c:1651
#11 0x004101c7 in execute_rare_opcode (stack_ptr=0x2aced38,
program_ptr=0xa35d8dd "=ad\005=c3=c6=c7\217\207", opcode=Bcondition_case)
at bytecode.c:1271
#12 0x0040f5db in execute_optimized_program (
program=0xa35d8d0 "\t=ac\a\b=ae\002=c2
\210=c3=c4=c5\217=ad\005=c3=c6=c7\217\207",
stack_depth=3, constants_data=0x6a30d0) at bytecode.c:656
#13 0x0040f193 in funcall_compiled_function (fun=7017180, nargs=1,
args=0x2acee84) at bytecode.c:515
#14 0x0043a723 in Ffuncall (nargs=2, args=0x2acee80) at eval.c:3563
#15 0x0040f74b in execute_optimized_program (
program=0xa354910 "=c6\r!?\024\b\204\203", stack_depth=5,
constants_data=0x6abd10) at bytecode.c:746
#16 0x0040f193 in funcall_compiled_function (fun=7017152, nargs=2,
args=0x2acefe4) at bytecode.c:515
#17 0x0043a723 in Ffuncall (nargs=3, args=0x2acefe0) at eval.c:3563
#18 0x0040f74b in execute_optimized_program (
program=0x2acf03c "=c6\f!\210\fq\210=c7
\210=c8=c9=ca\217\210\013=ac\003\n\023\t\020\016\021=ab\005=cb\r!\025=cc\r!\026\022\016\023\r!=ac\b=cd=ce!\210=cf\026\016\016\024=ac\013=d0\016\025\016\026?\"\210p\024=c8\207T=f1=ac\002$\"S",
stack_depth=3, constants_data=0x6b2d90)
at bytecode.c:746
#19 0x004122ca in Fbyte_code (instructions=7035460, constants=7024000,
stack_depth=7) at bytecode.c:2403
#20 0x00439bf5 in Feval (form=6999628) at eval.c:3331
#21 0x00437154 in condition_case_3 (bodyform=6999628, var=5643300,
handlers=6999244) at eval.c:1651
#22 0x004101c7 in execute_rare_opcode (stack_ptr=0x2acf408,
program_ptr=0xa354bec "\210)\f,\207\001=ac\002K", opcode=Bcondition_case)
at bytecode.c:1271
#23 0x0040f5db in execute_optimized_program (
program=0xa354b10
"=c6=c7\r!!\025=c8\r!=ab\035=c9=ca!=ab\023\016+=ab\017=ca\013=ab\b=c6=cb\r!!=aa\002\r!\207=cc=cd\r\"\207=ce\r!\034=c6=cb\r!!\032=cf=d0\n!\233\036,=d1\036\f\f=ab\035\016-=ac\004\013=ab\026\t=ac\023\212\fq\210\b\r\230=ac\t=d2=d3\r\b\016.$\210)\f=abw\t=ac\177=d4\f!=acz=d5\r!=ac\b=cc=d6\r\"\210=aan=d7\f!=ac\034=d8=d9\215=ab\027r\fq\210=d2=da\r\"\210=db=dc\211\"\210=d2=dd\r\"\210)=aaN=de=df\r!=e0\f!\230=ab\025=e1=d7\f!=ab\006=e2=e3!=aa\004=e2=e4!=df\r!\"=aa\026=e1=d7\f!=ab\006=e2=e5!=aa\004=e2=e6!=df\r!=e0\f!#!=ab\030r"...,
stack_depth=6, constants_data=0x6abe10) at bytecode.c:656
#24 0x0040f193 in funcall_compiled_function (fun=7017124, nargs=1,
args=0x2acf568) at bytecode.c:515
#25 0x0043a723 in Ffuncall (nargs=2, args=0x2acf564) at eval.c:3563
#26 0x0040f74b in execute_optimized_program (
program=0xa35da50 "\n=ab\f=c3\n!\030=c4=c5\t!!)\207=c4=c5\t!!\207",
stack_depth=3,
constants_data=0x6a3410) at bytecode.c:746
#27 0x0040f193 in funcall_compiled_function (fun=7016760, nargs=2,
args=0x2acf6c0) at bytecode.c:515
#28 0x0043a723 in Ffuncall (nargs=3, args=0x2acf6bc) at eval.c:3563
#29 0x0041476c in Fcall_interactively (function=6686644, record_flag=5519364,
keys=5519364) at callint.c:940
#30 0x00439107 in Fcommand_execute (cmd=6686644, record_flag=5519364,
keys=5519364) at eval.c:2970
#31 0x00483411 in execute_command_event (command_builder=0xa06f840,
event=168660996) at event-stream.c:3915
#32 0x00483ced in Fdispatch_event (event=168660996) at event-stream.c:4247
#33 0x004193d6 in Fcommand_loop_1 () at cmdloop.c:583
#34 0x00419721 in command_loop_1 (dummy=5519364) at cmdloop.c:494
#35 0x00440487 in condition_case_1 (handlers=5519460,
bfun=0x419708 <command_loop_1>, barg=5519364, hfun=0x4197b8 <cmd_error>,
harg=5519364) at eval.c:1651
#36 0x00419897 in command_loop_2 (dummy=5519364) at cmdloop.c:256
#37 0x00440338 in internal_catch (tag=5599452, func=0x419870 <command_loop_2>,
arg=5519364, threw=0x0) at eval.c:1317
#38 0x004190fe in initial_command_loop (load_me=5519364) at cmdloop.c:305
#39 0x00432776 in xemacs_21_4_4_i686_pc_cygwin () at emacs.c:2344
#40 0x00435a75 in main () at emacs.c:2773
#41 0x61003aea in _size_of_stack_reserve__ ()
#42 0x61003cbd in _size_of_stack_reserve__ ()
#43 0x61003cfc in _size_of_stack_reserve__ ()
#44 0x0053170f in cygwin_crt0 ()
I didn't want to get into including my init files and my lisp packages, unless
it's really necessary. That will get messy.
If I vary my test case slightly, like using the first shell buffer instead of
creating another one, I'm able to view the file, although I get the following
message in the message area:
File mode specification error: (wrong-type-argument natnump ?\^H)
Recent keystrokes:
C-p C-p C-p C-x o C-p C-f C-f C-f C-x F RET C-x C-l
1 4 7 7 RET C-n C-n C-e C-M-b C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-x / c a s e C-s C-s C-s C-s
C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s
C-s C-s C-s C-s C-s C-s C-s kp-prior kp-prior kp-prior
kp-prior kp-prior kp-prior kp-prior kp-prior C-v C-x
C-l 1 4 7 7 RET C-x ? ^ { C-a C-x o M-x r e p o r t
- e m TAB RET
Recent messages (most recent first):
Parsing /home/dmkarr/.mailrc...
Loading emacsbug...done
Loading emacsbug...
Matches return stack_ptr; RET } [1481]
Matches { RET RET case Bsave_excursion: [1227]
File mode specification error: (wrong-type-argument stringp nil)
Loading package-get...done
Loading package-get...
//c/xemacs-21.4.4/
~/