emacs-pretest-bug
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]