emacs-devel
[Top][All Lists]
Advanced

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

Re: Tramp with global-auto-revert-mode.


From: Luc Teirlinck
Subject: Re: Tramp with global-auto-revert-mode.
Date: Sat, 15 May 2004 15:44:44 -0500 (CDT)

Richard Stallman wrote:

   Can you figure out which slot, in which stack frame,
   is currently being examined within mark_stack?  That would
   probably lead us to the C level bug that directly causes
   these crashes.

I am not familiar at all with how gc checks for memory corruption.
Here is just a try.  I use the latest crash I got, after Andreas'
bugfix.

#0  abort () at emacs.c:434
#1  0x0812a575 in mark_object (arg=142231922) at alloc.c:5034
#2  0x0812a5d6 in mark_object (arg=142409733) at alloc.c:5051
#3  0x0812948a in mark_memory (start=0xbffe91d0, end=0xbffff57c)
    at alloc.c:3781
#4  0x081294f5 in mark_stack () at alloc.c:4055
#5  0x08129aba in Fgarbage_collect () at alloc.c:4429

The abort at alloc.c, line 5034 is the default clause of a switch
form.  The abort occurs if XMISCTYPE (obj) is none of the listed
possibilities.

(gdb) up 1
#1  0x0812a575 in mark_object (arg=142231922) at alloc.c:5034
5034                abort ();
(gdb) p obj
$3 = 142231922
(gdb) p *obj
$4 = 1230503937
(gdb) xtype
Lisp_Symbol
(gdb) xsymbol
$5 = (struct Lisp_Symbol *) 0x49580000
Argument to arithmetic operation not a number or boolean.
(gdb) p *$5
$6 = {
  gcmarkbit = 0, 
  indirect_variable = 0, 
  constant = 0, 
  interned = 0, 
  xname = 0, 
  value = 0, 
  function = 0, 
  plist = 0, 
  next = 0x0
}

So unless I am confused, this is what the obj that causes the abort
points to.

Some further info, for whatever it is worth:

(gdb) frame 1
#1  0x0812a575 in mark_object (arg=142231922) at alloc.c:5034
5034              abort ();
(gdb) p obj
$12 = 142231922
(gdb) xtype
Lisp_Misc
Lisp_Misc_Free
(gdb) xmiscfree 
$13 = (struct Lisp_Free *) 0x87a4970

I do not know whether I am doing the right things here.  I am not used
to debugging bugs in gc.

Sincerely,

Luc.






reply via email to

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