(Sorry for the garbled message. Let's try that again)
I was attempting to debug the flaky progress-gauge on Solaris and I
found that I could cause a core dump. I was using ielm at the time.
I accidentally wrote an infloop, and after hitting a couple of C-c's
and C-g's I got a core dump. This is reproducible (but it takes a few
tries). I had typed this into ielm:
(setq x 10)
(while (< x 101) (progress-feedback-with-label "FOO" "BAR" x))
;; please don't tell me I forgot to increment x! I know! That's
;; not the point!
After executing the above, some combination of C-c and C-g leads to a
core dump.
Lisp backtrace follows:
redisplay-gutter-area()
# bind (tmsg top frame value message label)
append-progress-feedback("FOO" "BAR" 10 nil)
# bind (frame value message label)
display-progress-feedback("FOO" "BAR" 10)
# bind (str)
# (unwind-protect ...)
# bind (args value fmt label)
progress-feedback-with-label("FOO" "BAR" 10)
(while (< x 101) (progress-feedback-with-label "FOO" "BAR" x))
eval((while (< x 101) (progress-feedback-with-label "FOO" "BAR"
x)))
# bind (! !! !!! ielm-obuf)
byte-code("..." [!! !!! !!!save !!save !save ielm-obuf eval ! ielm-form ielm-r
esult ielm-wbuf] 4)
# (condition-case ... . ((error (byte-code "Ã\n!ÄÃ" ... 2)) (quit (byte-code
"ÂÃÄ" ... 1))))
# (unwind-protect ...)
# bind (!save !!save !!!save ielm-form ielm-pos ielm-result ielm-error-type ie
lm-output ielm-wbuf ielm-pmark ielm-string)
ielm-eval-input("(while ( < x 101 ) (progress-feedback-with-label
\"FOO\" \"BA R\" x))")
# bind (buf ielm-input)
ielm-send-input()
# bind (state)
#<compiled-function nil "...(59)" [comint-prompt-regexp
ielm-dynamic-multiline -inputs ielm-dynamic-return state nil parse-partial-sexp
ielm-pm 1 3 ielm-send-i nput 0 looking-at newline newline-and-indent] 4
("/home/titan/charles/XEmacs/xem acs-packages/lisp/xemacs-devel/ielm.elc"
. 4554) nil>()
call-interactively(ielm-return)
# (condition-case ... . error)
# (catch top-level ...)
Abort (core dumped)
GNU gdb 5.0
Copyright 2000 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-pc-solaris2.7"...
Core was generated by `./src/xemacs'.
Program terminated with signal 6, Abort.
Reading symbols from /usr/dt/lib/libXm.so.4...done.
Loaded symbols for /usr/dt/lib/libXm.so.4
Reading symbols from /usr/dt/lib/libtt.so.2...done.
Loaded symbols for /usr/dt/lib/libtt.so.2
Reading symbols from /usr/openwin/lib/libXmu.so.4...done.
Loaded symbols for /usr/openwin/lib/libXmu.so.4
Reading symbols from /usr/openwin/lib/libXt.so.4...done.
Loaded symbols for /usr/openwin/lib/libXt.so.4
Reading symbols from /usr/openwin/lib/libXext.so.0...done.
Loaded symbols for /usr/openwin/lib/libXext.so.0
Reading symbols from /usr/openwin/lib/libX11.so.4...done.
Loaded symbols for /usr/openwin/lib/libX11.so.4
Reading symbols from /usr/lib/libcurses.so.1...done.
Loaded symbols for /usr/lib/libcurses.so.1
Reading symbols from /usr/lib/libldap.so.3...done.
Loaded symbols for /usr/lib/libldap.so.3
Reading symbols from /usr/lib/libm.so.1...done.
Loaded symbols for /usr/lib/libm.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/openwin/lib/libSM.so.6...done.
Loaded symbols for /usr/openwin/lib/libSM.so.6
Reading symbols from /usr/openwin/lib/libICE.so.6...done.
Loaded symbols for /usr/openwin/lib/libICE.so.6
Reading symbols from /usr/lib/libresolv.so.2...done.
Loaded symbols for /usr/lib/libresolv.so.2
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
#0 0xdf79e0f4 in _libc_kill () from /usr/lib/libc.so.1
(gdb) where
#0 0xdf79e0f4 in _libc_kill () from /usr/lib/libc.so.1
#1 0xdf79dad4 in kill () from /usr/lib/libc.so.1
#2 0x80be619 in fatal_error_signal (sig=6) at emacs.c:535
#3 0xdf74fb45 in sigacthandler () from /usr/lib/libc.so.1
#4 <signal handler called>
#5 0xdf79e0f4 in _libc_kill () from /usr/lib/libc.so.1
#6 0xdf7513f7 in abort () from /usr/lib/libc.so.1
#7 0x80c10c5 in assert_failed (file=0x824a44f "eval.c", line=1885,
expr=0x824a447 "abort()") at emacs.c:3305
#8 0x80c2865 in signal_1 (sig=137250940, data=137250820) at eval.c:1885
#9 0x80c4359 in signal_quit () at eval.c:2052
#10 0x810dc50 in internal_equal (obj1=141542208, obj2=137250820, depth=0)
at fns.c:2649
#11 0x812060d in image_instance_changed (subwindow=141834624) at glyphs.c:4587
#12 0x815e343 in compare_runes (w=0x85b0c00, crb=0x8744100, drb=0x8730000)
at redisplay-output.c:270
#13 0x815e4aa in compare_display_blocks (w=0x85b0c00, cdl=0x8731000, ddl=0x8678000,
c_block=0, d_block=0, start_pixpos=6, cursor_start=0, cursor_width=0,
cursor_height=0) at redisplay-output.c:473
#14 0x815ec8b in output_display_line (w=0x85b0c00, cdla=0x8756500, ddla=0x8756520,
line=0, force_start=-1, force_end=-1) at redisplay-output.c:770
#15 0x812e797 in output_gutter (f=0x85a1200, pos=BOTTOM_GUTTER, force=0)
at gutter.c:444
#16 0x812ebb0 in update_frame_gutters (f=0x85a1200) at gutter.c:634
#17 0x812f523 in Fredisplay_gutter_area () at gutter.c:1082
#18 0x80c589a in Ffuncall (nargs=1, args=0x8045af4) at eval.c:3528
#19 0x80a1c8b in execute_optimized_program (
program=0x8743b90 "\r¬\004Æ
\025\n@\211\031A\036\020\b\t@a«%\t\f¡\210\016\020\fk«\020Ç\016\021È\013#\210ÉÊ\r!!\210ª\aË\f\013\r#\210Ì
\210ª\r\b\fB\nB\022Ë\f\013\r#\210Í \210\013Îa\004Ï\b!*\207", stack_depth=5,
constants_data=0x84d0e10) at bytecode.c:746
#20 0x80a1997 in funcall_compiled_function (fun=139116348, nargs=4, args=0x8045c38)
at bytecode.c:515
#21 0x80c5a5b in Ffuncall (nargs=5, args=0x8045c34) at eval.c:3563
#22 0x80a1c8b in execute_optimized_program (
program=0x86fcb90
"\fÅa«\aÆ\n\t\013#\207ÇÈ\013\"«\004\b«\026É\n\t\fÊa«\004˪\aÌ\fÍ¥Î\"P\013#\207Ï\n\t\f\013$\207\026Èo\b",
stack_depth=6, constants_data=0x84d0d90)
at bytecode.c:746
#23 0x80a1997 in funcall_compiled_function (fun=139116432, nargs=3, args=0x8045d78)
at bytecode.c:515
#24 0x80c5a5b in Ffuncall (nargs=4, args=0x8045d74) at eval.c:3563
#25 0x80a1c8b in execute_optimized_program (
program=0x86fcbd0
"\212\013¬\f\n¬\tÅÆ\tÅ\"\210ª\017ÇÈ\013\n#\034É\t\f\b#\210\f))\207n to use to
find \026Èo\b\200År\b", stack_depth=4, constants_data=0x84add50)
at bytecode.c:746
#26 0x80a1997 in funcall_compiled_function (fun=139118596, nargs=3, args=0x8045e20)
at bytecode.c:515
#27 0x80c51d9 in Feval (form=139428840) at eval.c:3388
#28 0x80cbb04 in Fwhile (args=139429224) at eval.c:775
#29 0x80c4e67 in Feval (form=139429848) at eval.c:3304
#30 0x80c58ab in Ffuncall (nargs=2, args=0x8046124) at eval.c:3528
#31 0x80a1c8b in execute_optimized_program (
program=0x8046180
"\f\013\np\035\031\030\036\aÆ\016\b!\026\tp\026\n\rq\210,Æ\207Ð's\båX\f\bÄ\eÅ\n!\211\023@\021\013A\020)Ä\207\b\002",
stack_depth=4,
constants_data=0x8732750) at bytecode.c:746
#32 0x80a3b2a in Fbyte_code (instructions=141646996, constants=141764416,
stack_depth=9) at bytecode.c:2403
#33 0x80c4f65 in Feval (form=141958756) at eval.c:3331
#34 0x80c2775 in condition_case_3 (bodyform=141958756, var=138370132,
handlers=141958648) at eval.c:1651
#35 0x80a2586 in execute_rare_opcode (stack_ptr=0x80465dc,
program_ptr=0x87e125c "\210,ª\005Ò\024Ó\021\n\013a¬\bÔÕ\n\"\210\n\023\016
b\210\f¬\006ÊÖ×\217\210\f«\024\016'«\004Ø
\210\rÙ\fÚR\211\025\tP\025ª\f\016\037\026\"\016\036\026\037\t\026\036\rÛP\025\b«\006\r\016(P\025ÜÝ
\r\".\a\207", opcode=<error type>)
at bytecode.c:1271
#36 0x80a1b17 in execute_optimized_program (
program=0x87e1210 "Æ\211\211\211Ç\013È \036
\032\035\034\031\036!\036#\b«}É\b!¬xÊËÌ\217\210\f¬3Í\013!¬\tÎ\021Ï\024p\022ª&É\b\016!ÆO!«\031\016\036\016\037\016\"\036$\036%\036&\212\013q\210ÊÐÑ\217\210,ª\005Ò\024Ó\021\n\013a¬\bÔÕ\n\"\210\n\023\016
b\210\f¬\006ÊÖ×\217\210\f«\024\016'«\004Ø
\210\rÙ\fÚR\211\025\tP\025ª\f\016\037\026\"\016\036\026\037\t\026\036\rÛP\025\b«\006\r\016(P\025ÜÝ
\r\".\a\207", stack_depth=8,
constants_data=0x87e1c10) at bytecode.c:656
#37 0x80a1997 in funcall_compiled_function (fun=141939588, nargs=1, args=0x8046728)
at bytecode.c:515
#38 0x80c5a5b in Ffuncall (nargs=2, args=0x8046724) at eval.c:3563
#39 0x80a1c8b in execute_optimized_program (
program=0x87e0fd0 "pÂ\031\030Ã \210Ä\t!*\207", stack_depth=2,
constants_data=0x8732890) at bytecode.c:746
#40 0x80a1997 in funcall_compiled_function (fun=141939476, nargs=0, args=0x8046858)
at bytecode.c:515
#41 0x80c5a5b in Ffuncall (nargs=1, args=0x8046854) at eval.c:3563
#42 0x80a1c8b in execute_optimized_program (
program=0x87cf310 "\n«6\212Ä\177\210ÅÆ `\")\211\e@ÇW«\nÈ\0138¬\005É
ª\032\t«\025\212Êy\210Ë\b!)«\013\212Æ b\210ÌÇ!\210)Í )\207Ì
\207\b\024\006J\b0\006J\bL\006J\bh\006J\b\204\006J\b \006J\b¼\006J\bØ\006J\bô\006J\b\020\aJ\bs",
stack_depth=4,
constants_data=0x8774b90) at bytecode.c:746
#43 0x80a1997 in funcall_compiled_function (fun=141939420, nargs=0, args=0x80469c4)
at bytecode.c:515
#44 0x80c5a5b in Ffuncall (nargs=1, args=0x80469c0) at eval.c:3563
#45 0x80ca633 in apply1 (fn=141939420, arg=137250820) at eval.c:4152
#46 0x80a45eb in Fcall_interactively (function=141941340, record_flag=137250820,
keys=137250820) at callint.c:397
#47 0x80c4554 in Fcommand_execute (cmd=141941340, record_flag=137250820,
keys=137250820) at eval.c:2970
#48 0x80ef36d in execute_command_event (command_builder=0x856e380, event=142212468)
at event-stream.c:3915
#49 0x80ef9f3 in Fdispatch_event (event=142212468) at event-stream.c:4247
#50 0x80a9bf8 in Fcommand_loop_1 () at cmdloop.c:583
#51 0x80a9e59 in command_loop_1 (dummy=137250820) at cmdloop.c:494
#52 0x80cb1da in condition_case_1 (handlers=137250916,
bfun=0x80a9e40 <command_loop_1>, barg=137250820, hfun=0x80a9ec8
<cmd_error>,
harg=137250820) at eval.c:1651
#53 0x80a9fb7 in command_loop_2 (dummy=137250820) at cmdloop.c:256
#54 0x80cb0a8 in internal_catch (tag=137330860, func=0x80a9f7c <command_loop_2>,
arg=137250820, threw=0x0) at eval.c:1317
#55 0x80a9942 in initial_command_loop (load_me=137250820) at cmdloop.c:305
#56 0x80bf7aa in xemacs_21_4_3_i386_pc_solaris2_7 () at emacs.c:2344
#57 0x80c1329 in main () at emacs.c:2773
#58 0x80955f7 in _start ()
(gdb) quit