On 13 Dec 2000 11:46:04 +0900,
Yoshiki Hayashi <yoshiki(a)xemacs.org> said:
Do you have a recipe to reproduce it? It looks like a GC
bug and it's really hard to track down it without a
reproducible recipe.
I have similar crash under TTY with glyphs on modeline.
Does bee-mode do similar things?
This article reminds me about my XEmacs crash related to TTY, glyphs
and GC. Once I reported the crash several(?) months ago. The problem
persists until now.
I can always reproduce the crash by the following method:
xemacs -vanilla (on X windows environment)
M-x make-frame-on-tty
M-x hanoi
M-x display-time (using graphical icons)
M-x garbage-collect
**crash**
I can change 'M-x hanoi' with other (possibly heavier) applications.
When I only do
M-x make-frame-on-tty
M-x display-time
M-x garbage-collect
it seldom crash. I guess I need to stir memory to make it crash.
After I read previous discussions about GC crashes, I tried to find
the crashing part using 'always_gc' flag. I turned on 'always_gc'
just before M-x display-time, waited forever, and got the following
stacktrace. I have no idea what I should do next. Any suggestions?
----------------------------------
Program received signal SIGSEGV, Segmentation fault.
compact_string_chars () at alloc.c:3035
3035 assert (!(FREE_STRUCT_P (string)));
(gdb) where
#0 compact_string_chars () at alloc.c:3035
#1 0x8085587 in gc_sweep () at alloc.c:3184
#2 0x8085c3b in garbage_collect_1 () at alloc.c:3504
#3 0x80c4a37 in Ffuncall (nargs=2, args=0xbfbfe95c) at eval.c:3477
#4 0x80ca186 in call1 (fn=139470996, arg0=137299972) at eval.c:4183
#5 0x8116a7e in execute_internal_event (event=141763376)
at event-stream.c:3029
#6 0x811660f in Fsit_for (seconds=1, nodisplay=137299972)
at event-stream.c:2847
#7 0x80c4c2a in Ffuncall (nargs=2, args=0xbfbfea9c) at eval.c:3528
#8 0x80937bd in execute_optimized_program (
program=0x86df010
"\211\035@\r@妊Z\er!\034碧217\0364\0165013洋!006\0166P\211\0361;\nf\rA@\013\\\nZ\0310161!\211\025@\r@妊Z\023\rA@\013\\\tA@\t@\t@妊Z\\Zt\rA@\013\\\022003022)\0367\f嘖O\03620162!\030b\廢T!\0368\b004惠\0020369\f无O\036:\f槿O\036;r!A@\036<\f瀁O\036=\f呀O\036>\f痰O\03630163"A\036?\f繙O"...,
stack_depth=7,
constants_data=0x8729e10) at bytecode.c:746
#9 0x80933e6 in funcall_compiled_function (fun=140111536, nargs=0,
args=0xbfbfebf0) at bytecode.c:518
#10 0x80c4dbf in Ffuncall (nargs=1, args=0xbfbfebec) at eval.c:3563
#11 0x80937bd in execute_optimized_program (
program=0xbfbfec58
"\e216\f\035211\032\031211\030\036\r211\036\016\034211\036\017\036\020r!f碧\r!r!\"\210006r!
\210.\013207",
stack_depth=5, constants_data=0x84f3410) at bytecode.c:746
#12 0x8096bf4 in Fbyte_code (instructions=139394628, constants=139408384,
stack_depth=11) at bytecode.c:2405
#13 0x80c41dd in Feval (form=139439836) at eval.c:3331
#14 0x80c1021 in condition_case_3 (bodyform=139439836, var=139454388,
handlers=139440064) at eval.c:1651
#15 0x809424e in execute_rare_opcode (stack_ptr=0xbfbfef64,
program_ptr=0x87001c5
"\210)\013A\211\023217\016\036\211\023016\f013@!^\024\013A\211\023�无!\211\036\037f016\037!006\212\210))\f.\a\207",
opcode=Bcondition_case) at bytecode.c:1271
#16 0x80935be in execute_optimized_program (
program=0x8700110 "016\036!波211\211036
\030\032\031\034\035\e024碧!021\016\013:f\016\013\022麺
\n\"\021蔑!027\016\016:022\016\016@\016\016A\022麺
\n\"\021005022021\013\013@\025r!ar!\020rr�\r!\016!Z]\"\210r!020b\n\"017\tr!W006r!r!030\tr!Wn\fr!\tZ^r\fr!^006\fr!^\024024r!ar\"\210216忤217\210)\013A\211\023217\016\036\211\023016\f013@!"...,
stack_depth=8,
constants_data=0x84d4b10) at bytecode.c:656
#17 0x80933e6 in funcall_compiled_function (fun=139441644, nargs=1,
args=0xbfbff0c0) at bytecode.c:518
#18 0x80c4dbf in Ffuncall (nargs=2, args=0xbfbff0bc) at eval.c:3563
#19 0x80937bd in execute_optimized_program (
program=0x86e4410
"\013?211\036\017\e\034f\n\"\031035\f\022t!\025b!\210\r\026\020r揺\211\020-\207",
stack_depth=6,
constants_data=0x84f3190) at bytecode.c:746
#20 0x80933e6 in funcall_compiled_function (fun=139441896, nargs=1,
args=0xbfbff220) at bytecode.c:518
#21 0x80c4dbf in Ffuncall (nargs=2, args=0xbfbff21c) at eval.c:3563
#22 0x80ca186 in call1 (fn=139470996, arg0=137299972) at eval.c:4183
#23 0x8116a7e in execute_internal_event (event=141464020)
at event-stream.c:3029
#24 0x8118cd5 in Fdispatch_event (event=141464020) at event-stream.c:4169
#25 0x80a2cfe in Fcommand_loop_1 () at cmdloop.c:583
#26 0x80a2f96 in command_loop_1 (dummy=137299972) at cmdloop.c:494
#27 0x80cac25 in condition_case_1 (handlers=137300068,
bfun=0x80a2f58 <command_loop_1>, barg=137299972,
hfun=0x80a3008 <cmd_error>, harg=137299972) at eval.c:1651
#28 0x80a30f7 in command_loop_2 (dummy=137299972) at cmdloop.c:256
#29 0x80cab24 in internal_catch (tag=137384396,
func=0x80a30bc <command_loop_2>, arg=137299972, threw=0x0) at eval.c:1317
#30 0x80a256e in initial_command_loop (load_me=137299972) at cmdloop.c:305
#31 0x80bcb9f in xemacs_21_2_b38_i386_unknown_freebsd4_2 (argc=2,
argv=0xbfbff5a4, envp=0xbfbff5b0, restart=0) at emacs.c:2253
#32 0x80bead1 in main (argc=2, argv=0xbfbff5a4, envp=0xbfbff5b0)
at emacs.c:2682
#33 0x80808e9 in _start ()
----------------------------------
Here is my Installation:
uname -a: FreeBSD elvenbow.nc.kyushu-u.ac.jp 4.2-STABLE FreeBSD 4.2-STABLE #0: Mon Dec 11
19:58:36 JST 2000 root@elvenbow.nc.kyushu-u.ac.jp:/usr/obj/usr/src/sys/ELVENBOW i386
./configure '--with-mule' '--without-xim' '--error-checking=all'
'--debug' '--with-xfs' '--with-widgets=athena'
'--without-canna' '--site-prefixes=/usr/local' '--cflags=-g -O3 -pipe
-Wall -Wno-switch -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow'
XEmacs 21.2-b38 "Peisinoë" configured for `i386-unknown-freebsd4.2'.
Compilation / Installation:
Source code location: /usr/local/src/xemacs-21.2/xemacs
Installation prefix: /usr/local
Additional prefixes: /usr/local
Runtime library search path: /usr/local/lib:/usr/X11R6/lib:/usr/libexec
Operating system description file: `s/freebsd.h'
Machine description file: `m/intel386.h'
Compiler: gcc -g -O3 -pipe -Wall -Wno-switch -Wpointer-arith
-Winline -Wmissing-prototypes -Wshadow
Relocating allocator for buffers: yes
GNU version of malloc: yes
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw
- Athena library to link: Xaw
Using Lucid menubars.
Using Lucid scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
TTY:
Compiling in support for ncurses.
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Compiling in support for X-Face message headers.
Sound:
Compiling in support for sound (native).
Compiling in support for ESD (Enlightened Sound Daemon).
Databases:
Compiling in support for Berkeley database.
Compiling in support for GNU DBM.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
- Using XFontSet to provide bilingual menubar.
Mail:
Compiling in support for "flock" mail spool file locking method.
Other Features:
Compiling in support for dynamic shared object modules.
Compiling in support for extra debugging code.
WARNING: ---------------------------------------------------------
WARNING: Compiling in support for runtime error checking.
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
--
Yoshiaki Kasahara
Computing and Communications Center, Kyushu University
kasahara(a)nc.kyushu-u.ac.jp