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: Sun, 16 May 2004 13:11:03 -0500 (CDT)

Eli Zaretskii wrote:

   Did you look in etc/DEBUG?  It has a section about debugging crashes
   in GC.  You need to use the last_marked[] array to guide you through
   the recursive invocations of mark_object and its ilk, and find out
   which part of what Lisp data structure is being marked when the
   disaster strikes.

I forgot to read that.  However, I have trouble making sense of the
contents of last_marked and I do not really understand the gc code.
Using the very latest crash I produced, I get the _impression_ that gc
is examining some structure related to the
*tramp/ssh raven.dms.auburn.edu* buffer, but that is just a guess.

(gdb) run -q --eval '(progn (blink-cursor-mode 0) (global-auto-revert-mode 1))'
Starting program: /home/teirllm/emacscvsdir/emacs/src/emacs-21.3.50.1 -q --eval 
'(progn (blink-cursor-mode 0) (global-auto-revert-mode 1))'

Breakpoint 1, abort () at emacs.c:434
434          kill (getpid (), SIGABRT);
(gdb) bt
#0  abort () at emacs.c:434
#1  0x0812a575 in mark_object (arg=145714794) at alloc.c:5034
#2  0x0812a5d6 in mark_object (arg=148693005) 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

I omit the rest of the bt-output, since it is unrelated to gc.

(gdb) p last_marked_index
$197 = 18
(gdb) p last_marked[17]
$198 = 145714794
(gdb) pr
#<misc free cell>
(gdb) p last_marked[16]
$199 = 148693005
(gdb) pr
(#<misc free cell> . -37)
(gdb) p last_marked[15]
$200 = 143097017
(gdb) pr

(gdb) xtype
Lisp_Symbol
(gdb) xsymbol
$201 = (struct Lisp_Symbol *) 0x8877cb8
Argument to arithmetic operation not a number or boolean.
(gdb) p *$201
$202 = {
  gcmarkbit = 1, 
  indirect_variable = 0, 
  constant = 0, 
  interned = 2, 
  xname = 143098427, 
  value = 138193545, 
  function = 138193545, 
  plist = 138193521, 
  next = 0x86621b0
}
(gdb) p $202->xname
$203 = 143098427
(gdb) pr
""
(gdb) xstring
$204 = (struct Lisp_String *) 0x8878238
"cygwin-mount-map-drive-hook-function"
(gdb) p last_marked[14]
$205 = 148054205
(gdb) pr
()
(gdb) p last_marked[13]
$206 = 143096993
(gdb) pr

(gdb) xtype
Lisp_Symbol
(gdb) xsymbol
$207 = (struct Lisp_Symbol *) 0x8877ca0
Argument to arithmetic operation not a number or boolean.
(gdb) p *$207
$208 = {
  gcmarkbit = 1, 
  indirect_variable = 0, 
  constant = 0, 
  interned = 2, 
  xname = 143098411, 
  value = 138193545, 
  function = 138193545, 
  plist = 138193521, 
  next = 0x8636688
}
(gdb) p $208->xname
$209 = 143098411
(gdb) pr
""
(gdb) xstring
$210 = (struct Lisp_String *) 0x8878228
"cygwin-mount-name-hook-function"
(gdb) p last_marked[12]
$211 = 148054197
(gdb) pr
( )
(gdb) p last_marked[11]
$212 = 138971849
(gdb) pr
tramp-completion-file-name-handler
(gdb) p last_marked[10]
$213 = 148054029
(gdb) pr
(tramp-completion-file-name-handler  )
(gdb) p last_marked[9]
$214 = 145715130
(gdb) pr
#<marker at 185421 in *tramp/ssh raven.dms.auburn.edu*>
(gdb) p last_marked[8]
$215 = 920
(gdb) pr 
115
(gdb) p last_marked[7]
$216 = 148538453
(gdb) pr
(115)
(gdb) p last_marked[6]
$217 = 936
(gdb) pr
117
(gdb) p last_marked[5]
$218 = 148538277
(gdb) pr
(117)
(gdb) p last_marked[4]
$219 = 880
(gdb) pr
110
(gdb) p last_marked[3]
$220 = 148538285
(gdb) pr
(110 117)
(gdb) p last_marked[2]
$221 = 920
(gdb) pr
115
(gdb) p last_marked[1]
$222 = 148538293
(gdb) pr
(115 110 117)
(gdb) p last_marked[0]
$223 = 840
(gdb) pr
105




reply via email to

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