Re: Fix to long-standing crashes in GC

From:

Luc Teirlinck

Subject:

Re: Fix to long-standing crashes in GC

Date:

Sun, 23 May 2004 11:32:35 -0500 (CDT)

Eli Zaretskii wrote:
> >Can you figure out what data structure is being traversed by those
> >frames? That's a lot of work, but it is the only way I know of to try
> >to debug a problem of this kind.
> >
> I am afraid I do not know enough about gdb and Emacs memory management
> to do that.
There's some guidance in the file etc/DEBUG (search for "in GC"), and
you can always ask for more specific help here.
Yes, except that the guidance there seems to assume that the person
doing the debugging has a pretty good knowledge about Emacs memory
management. Anyway, I believe that the problem has been fixed by
recent changes made by Kim. If Lars still has his old GDB session
around, then I guess that he might see something very similar to:
(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)
That is, the problem was caused by trying to mark a Lisp_Misc_Free
object. If Lars sees anything else, that might be interesting. I
guess that Lars will not be able to produce the crash any more with
the latest CVS. If he still can, then he should definitely report
that, since we believe that these crashes are fixed.
Sincerely,
Luc.