[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
abort
From: |
Alex Schroeder |
Subject: |
abort |
Date: |
Thu, 20 Feb 2003 00:19:51 +0100 |
User-agent: |
Gnus/5.090015 (Oort Gnus v0.15) Emacs/21.2.92 (i686-pc-linux-gnu) |
#0 0x402e9581 in kill () from /lib/libc.so.6
#1 0x080d1e0e in abort () at emacs.c:387
#2 0x0814d53e in mark_byte_stack () at bytecode.c:289
#3 0x08115535 in Fgarbage_collect () at alloc.c:4109
#4 0x08126582 in Feval (form=1500293668) at eval.c:1912
#5 0x08126959 in Feval (form=1491737460) at eval.c:2069
#6 0x08126792 in Feval (form=1491737212) at eval.c:1998
#7 0x08124603 in Fprogn (args=1491737476) at eval.c:431
#8 0x08125004 in Flet (args=1491737204) at eval.c:875
#9 0x081266cc in Feval (form=1491737044) at eval.c:1960
#10 0x08124603 in Fprogn (args=1491737036) at eval.c:431
#11 0x08127731 in funcall_lambda (fun=1491737724, nargs=4,
arg_vector=0xbfffe1f4) at eval.c:2844
#12 0x08127474 in apply_lambda (fun=1491737724, args=1491738428, eval_flag=1)
at eval.c:2770
#13 0x08126976 in Feval (form=1491738404) at eval.c:2071
#14 0x08126792 in Feval (form=1491738396) at eval.c:1998
#15 0x0812473b in Fsetq (args=1491738388) at eval.c:531
#16 0x081266cc in Feval (form=1491738380) at eval.c:1960
#17 0x08124603 in Fprogn (args=1491738660) at eval.c:431
#18 0x0812507d in Fwhile (args=1491738372) at eval.c:897
#19 0x081266cc in Feval (form=1491738364) at eval.c:1960
#20 0x08124603 in Fprogn (args=1491738668) at eval.c:431
#21 0x08124e26 in FletX (args=1491738356) at eval.c:818
#22 0x081266cc in Feval (form=1491737980) at eval.c:1960
#23 0x08124603 in Fprogn (args=1491738804) at eval.c:431
#24 0x081244d2 in Fif (args=1491737940) at eval.c:365
#25 0x081266cc in Feval (form=1491737916) at eval.c:1960
#26 0x08124603 in Fprogn (args=1491737764) at eval.c:431
#27 0x08127731 in funcall_lambda (fun=1491738820, nargs=0,
arg_vector=0xbfffe914) at eval.c:2844
#28 0x08127474 in apply_lambda (fun=1491738820, args=405241980, eval_flag=1) at
eval.c:2770
#29 0x08126976 in Feval (form=1491735900) at eval.c:2071
#30 0x08124603 in Fprogn (args=1491735892) at eval.c:431
#31 0x08125004 in Flet (args=1491735604) at eval.c:875
#32 0x081266cc in Feval (form=1491735572) at eval.c:1960
#33 0x08124603 in Fprogn (args=1499859524) at eval.c:431
#34 0x081244d2 in Fif (args=1499859508) at eval.c:365
#35 0x081266cc in Feval (form=1499859500) at eval.c:1960
#36 0x08126959 in Feval (form=1491735556) at eval.c:2069
#37 0x08124603 in Fprogn (args=1491735532) at eval.c:431
#38 0x08127731 in funcall_lambda (fun=1491735932, nargs=0,
arg_vector=0xbfffeecc) at eval.c:2844
#39 0x08127301 in Ffuncall (nargs=1, args=0xbfffeec8) at eval.c:2716
#40 0x08126d9f in run_hook_with_args (nargs=1, args=0xbfffeec8,
cond=to_completion) at eval.c:2330
#41 0x08126c1b in Frun_hooks (nargs=1, args=0xbfffef58) at eval.c:2198
#42 0x08127146 in Ffuncall (nargs=2, args=0xbfffef54) at eval.c:2640
#43 0x08126f27 in call1 (fn=405361908, arg1=405449076) at eval.c:2456
#44 0x0807ce4c in Fset_window_configuration (configuration=1228611160) at
window.c:5114
#45 0x08127b7f in unbind_to (count=2, value=405241980) at eval.c:3014
#46 0x08125342 in unwind_to_catch (catch=0xbffff778, value=1499859532) at
eval.c:1072
#47 0x08125b20 in Fsignal (error_symbol=405338396, data=405241980) at
eval.c:1463
#48 0x0812d7cb in internal_equal (o1=7, o2=268435455, depth=0) at fns.c:1970
#49 0x0812d762 in Fequal (o1=7, o2=268435455) at fns.c:1958
#50 0x0814e870 in Fbyte_code (bytestr=941209048, vector=1209645312,
maxdepth=11) at bytecode.c:1550
#51 0x08127797 in funcall_lambda (fun=1209644420, nargs=5,
arg_vector=0xbffff228) at eval.c:2851
#52 0x08127301 in Ffuncall (nargs=6, args=0xbffff224) at eval.c:2716
#53 0x0814d9bc in Fbyte_code (bytestr=941370764, vector=1209806316, maxdepth=8)
at bytecode.c:716
#54 0x08126814 in Feval (form=1478241660) at eval.c:2019
#55 0x08124603 in Fprogn (args=1478241652) at eval.c:431
#56 0x0807d40b in Fsave_window_excursion (args=1478241652) at window.c:5373
#57 0x0814ddc4 in Fbyte_code (bytestr=941370708, vector=1209806184, maxdepth=1)
at bytecode.c:865
#58 0x08127797 in funcall_lambda (fun=1209806108, nargs=1,
arg_vector=0xbffff518) at eval.c:2851
#59 0x08127301 in Ffuncall (nargs=2, args=0xbffff514) at eval.c:2716
#60 0x08123ea9 in Fcall_interactively (function=405738236,
record_flag=405241980, keys=1230116416) at callint.c:797
#61 0x080ddf3a in Fcommand_execute (cmd=405738236, record_flag=405241980,
keys=405241980, special=405241980) at keyboard.c:9232
#62 0x080d5090 in command_loop_1 () at keyboard.c:1644
#63 0x08125749 in internal_condition_case (bfun=0x80d4550 <command_loop_1>,
handlers=405338372, hfun=0x80d4194 <cmd_error>) at eval.c:1267
#64 0x080d4428 in command_loop_2 () at keyboard.c:1245
#65 0x081252dd in internal_catch (tag=405299700, func=0x80d4404
<command_loop_2>, arg=405241980) at eval.c:1030
#66 0x080d43d7 in command_loop () at keyboard.c:1224
#67 0x080d3f51 in recursive_edit_1 () at keyboard.c:950
#68 0x080d4080 in Frecursive_edit () at keyboard.c:1006
#69 0x080d2faf in main (argc=1, argv=0xbffffc94, envp=0xbffffc9c) at
emacs.c:1547
up
up
#2 0x0814d53e in mark_byte_stack () at bytecode.c:289
289 abort ();
(gdb) l
284 up the stack in a debugger, stopping in frames of Fbyte_code.
285 The culprit is found in the frame of Fbyte_code where the
286 address of its local variable `stack' is equal to the
287 recorded value of `stack' here. */
288 if (!stack->top)
289 abort ();
290
291 for (obj = stack->bottom; obj <= stack->top; ++obj)
292 if (!XMARKBIT (*obj))
293 {
reading the comment in bytecode.c:
/* If STACK->top is null here, this means there's an opcode in
Fbyte_code that wasn't expected to GC, but did. To find out
which opcode this is, record the value of `stack', and walk
up the stack in a debugger, stopping in frames of Fbyte_code.
The culprit is found in the frame of Fbyte_code where the
address of its local variable `stack' is equal to the
recorded value of `stack' here. */
ok, let's see:
(gdb) p stack
$1 = (struct byte_stack *) 0xbffff150
up to stack #50:
#50 0x0814e870 in Fbyte_code (bytestr=941209048, vector=1209645312,
maxdepth=11) at bytecode.c:1550
1550 TOP = Fequal (TOP, v1);
(gdb) p stack
$2 = {
pc = 0x819b721
"\2043\001\351\362\f\t\353\354\016R!!\363\r!%\210*\364\v\354\r!\"\026B\016B\365=\203b\001\366\211\026<\202\350",
top = 0x0,
bottom = 0xbffff0f4,
byte_string = 941209048,
byte_string_start = 0x819b5e8 "address@hidden&",
constants = 1209645312,
next = 0xbffff270
}
Hm, so now to find where the address of stack is:
(gdb) info address stack
Symbol "stack" is a local variable at frame offset -28.
I think I am stuck, here. This stack struct certainly seems like a
candidate, because its top is 0x0. But I can't follow the
instructions in the mark_byte_stack () comment.
Alex.