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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

abort in garbage collection (when loading an image)


From: Alex Schroeder
Subject: abort in garbage collection (when loading an image)
Date: Mon, 07 Apr 2003 17:13:24 +0200
User-agent: Gnus/5.090016 (Oort Gnus v0.16) Emacs/21.3.50

In GNU Emacs 21.3.50.2 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2003-04-06 on confusibombus
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.ISO-8859-1
  locale-coding-system: iso-latin-1
  default-enable-multibyte-characters: t

Program received signal SIGABRT, Aborted.
0x402a3a51 in kill () from /lib/libc.so.6
(gdb) bt
#0  0x402a3a51 in kill () from /lib/libc.so.6
#1  0x080d2c3a in abort () at emacs.c:412
#2  0x08119fd5 in mark_object (argptr=0x921ef84) at alloc.c:4846
#3  0x0811a001 in mark_object (argptr=0xbffea350) at alloc.c:4863
#4  0x08118dae in mark_memory (start=0xbffea38c, end=0xbffff9e4) at alloc.c:3557
#5  0x08118e22 in mark_stack () at alloc.c:3829
#6  0x081193e5 in Fgarbage_collect () at alloc.c:4199
#7  0x0812c122 in Ffuncall (nargs=2, args=0xbffea500) at eval.c:2680
#8  0x08153afc in Fbyte_code (bytestr=947237516, vector=1213973912, maxdepth=9) 
at bytecode.c:709
#9  0x0812c801 in funcall_lambda (fun=1213970064, nargs=5, 
arg_vector=0xbffea624) at eval.c:2927
#10 0x0812c3c1 in Ffuncall (nargs=6, args=0xbffea620) at eval.c:2797
#11 0x0812bcdb in Fapply (nargs=2, args=0xbffea6e4) at eval.c:2247
#12 0x0812c246 in Ffuncall (nargs=3, args=0xbffea6e0) at eval.c:2721
#13 0x08153afc in Fbyte_code (bytestr=947237420, vector=1212972600, maxdepth=5) 
at bytecode.c:709
#14 0x0812c801 in funcall_lambda (fun=1215358312, nargs=6, 
arg_vector=0xbffea814) at eval.c:2927
#15 0x0812c3c1 in Ffuncall (nargs=7, args=0xbffea810) at eval.c:2797
#16 0x0812c0c7 in call6 (fn=405903372, arg1=405635444, arg2=959487348, 
arg3=405466548, arg4=405466500, arg5=405466500, arg6=405466500) at eval.c:2656
#17 0x080fc587 in Finsert_file_contents (filename=959487348, visit=405466548, 
beg=405466500, end=405466500, replace=405466500) at fileio.c:3641
#18 0x0812b98d in Feval (form=1478236184) at eval.c:2109
#19 0x0812a7ab in Fcondition_case (args=1495676620) at eval.c:1298
#20 0x08153faa in Fbyte_code (bytestr=941364680, vector=1209800336, maxdepth=4) 
at bytecode.c:891
#21 0x0812c801 in funcall_lambda (fun=1209800064, nargs=6, 
arg_vector=0xbffff1a4) at eval.c:2927
#22 0x0812c3c1 in Ffuncall (nargs=7, args=0xbffff1a0) at eval.c:2797
#23 0x08153afc in Fbyte_code (bytestr=941362432, vector=1209798488, maxdepth=8) 
at bytecode.c:709
#24 0x0812c801 in funcall_lambda (fun=1209797820, nargs=4, 
arg_vector=0xbffff2b4) at eval.c:2927
#25 0x0812c3c1 in Ffuncall (nargs=5, args=0xbffff2b0) at eval.c:2797
#26 0x08153afc in Fbyte_code (bytestr=941357112, vector=1209792612, maxdepth=6) 
at bytecode.c:709
#27 0x0812c801 in funcall_lambda (fun=1209792512, nargs=1, 
arg_vector=0xbffff3c4) at eval.c:2927
#28 0x0812c3c1 in Ffuncall (nargs=2, args=0xbffff3c0) at eval.c:2797
#29 0x08153afc in Fbyte_code (bytestr=958249060, vector=1227029112, maxdepth=2) 
at bytecode.c:709
#30 0x0812c801 in funcall_lambda (fun=1213494656, nargs=0, 
arg_vector=0xbffff4e4) at eval.c:2927
#31 0x0812c3c1 in Ffuncall (nargs=1, args=0xbffff4e0) at eval.c:2797
#32 0x0812bff1 in apply1 (fn=421721324, arg=405466500) at eval.c:2492
#33 0x08127f5e in Fcall_interactively (function=421721324, 
record_flag=405466500, keys=1225574216) at callint.c:395
#34 0x080df9e5 in Fcommand_execute (cmd=421721324, record_flag=405466500, 
keys=405466500, special=405466500) at keyboard.c:9618
#35 0x080d62b1 in command_loop_1 () at keyboard.c:1753
#36 0x0812a89d in internal_condition_case (bfun=0x80d55b0 <command_loop_1>, 
handlers=405563108, hfun=0x80d51b4 <cmd_error>) at eval.c:1351
#37 0x080d5478 in command_loop_2 () at keyboard.c:1290
#38 0x0812a415 in internal_catch (tag=405524412, func=0x80d5454 
<command_loop_2>, arg=405466500) at eval.c:1112
#39 0x080d5423 in command_loop () at keyboard.c:1269
#40 0x080d4f78 in recursive_edit_1 () at keyboard.c:985
#41 0x080d50a0 in Frecursive_edit () at keyboard.c:1041
#42 0x080d3f43 in main (argc=3, argv=0xbffffc54) at emacs.c:1659
(gdb) up
#1  0x080d2c3a in abort () at emacs.c:412
412       kill (getpid (), SIGABRT);
(gdb) up
#2  0x08119fd5 in mark_object (argptr=0x921ef84) at alloc.c:4846
4846              abort ();
(gdb) up
#3  0x0811a001 in mark_object (argptr=0xbffea350) at alloc.c:4863
4863            mark_object (&ptr->car);
(gdb) down
#2  0x08119fd5 in mark_object (argptr=0x921ef84) at alloc.c:4846
4846              abort ();
(gdb) p obj
$1 = 153004648
(gdb) xtype obj
Lisp_Int
0
(gdb) xint obj
$2 = -115430808

I then read the section "Debugging problems which happen in GC" in
etc/DEBUG.  It wasn't immediately obvious to me what to do (me not
being a C programmer), but here is what I tried based on the text:

(gdb) p last_marked
$3 = {0x82a4ea8, 0x82a4e8c, 0x82a4eb4, 0x82a4e90, 0x82a4ea4, 0x82a4e88, 
0x82a4e68, 0x82a4e7c, 0x82a4e74, 0x82a4e84, 0x82a4e60, 0x82a4e94, 0x82a4e64, 
  0x82a4eb8, 0x82a4e9c, 0x82a4e78, 0x82725b8, 0x9006e08, 0x9006e0c, 0x9006e10, 
0x9006e14, 0x9006e18, 0x9006e1c, 0x9006e20, 0x9006e24, 0x9006e28, 0x9006e2c, 
  ...
(gdb) p last_marked_index
$4 = 119
(gdb) p last_marked[last_marked_index]
$5 = (int *) 0x8419370
(gdb) p last_marked[last_marked_index-1]
$6 = (int *) 0x921ef84

This address is the same as the argptr to mark_object() from the
backtrace.

(gdb) p argptr
$7 = (int *) 0x921ef84

I then tried find out about argptr, but I'm not sure I'm doing the
right thing, here.

(gdb) xtype argptr
Argument to arithmetic operation not a number or boolean.
(gdb) xtype &argptr
Argument to arithmetic operation not a number or boolean.
(gdb) p &argptr
$8 = (int **) 0xbffea2d0
(gdb) p *argptr
$9 = -1457608088
(gdb) pr *argptr
(gdb) p *argptr
$10 = -1457608088
(gdb) xtype *argptr
Lisp_Misc
Lisp_Misc_Free

(gdb) xmisc *argptr
Ambiguous command "xmisc *argptr": xmiscfree, xmisctype.
(gdb) xmiscfree *argptr
$11 = (struct Lisp_Free *) 0x91eaa68

Hm...  Now what?   I tried to print something  else about this struct,
but I guess I am missing something...

(gdb) p 0x91eaa68
$12 = 153004648
(gdb) print 0x91eaa68
$13 = 153004648
(gdb) p * 0x91eaa68
$14 = 2147442347
(gdb) p * 0x91eaa68
$15 = 2147442347
(gdb) p & 0x91eaa68
Attempt to take address of value not located in memory.
(gdb) p &0x91eaa68
Attempt to take address of value not located in memory.
(gdb) xmisctype *argptr
Cannot access memory at address 0xfff5eab
(gdb) xmiscfree *argptr
$16 = (struct Lisp_Free *) 0xfff5eab
(gdb) p
$17 = (struct Lisp_Free *) 0xfff5eab

Alex.





reply via email to

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