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

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

Re: GC bug


From: Richard Stallman
Subject: Re: GC bug
Date: Thu, 12 Jun 2003 10:03:28 -0400

One thing to check is the value of stack_base.  Is it correct?

    #3  0x0811bc1d in mark_memory (start=0xbfff9db0, end=0xbffff9c4) at 
alloc.c:3453

Are the values of start and end reasonable values?

    #2  0x0811d245 in mark_object (argptr=0xbfff9d78) at alloc.c:4862

Which stack frame is address 0xbfff9d78 in?
Do `i frame' in each stack frame to see which one
contains that address.

Then find what data structure is that in.
In that frame, try doing `info local' and determine the address
and size of various locals.  Likewise for the arguments.

With that info, we may see what's going on.

    (gdb) p obj
    $1 = 152079892
    (gdb) xtype obj
    Lisp_Int
    0

That is not a reliable way to see what object was found.
We don't know if that register still contains the object.

Try x/x 0xbfff9d78; that way you will reliably see
what is at that location.  I suspect from the code in mark_object
that it is a Lisp_Misc type.  Which kind?

Try to deduce out what happened inside the code for mark_maybe_object.
If you can't deduce it, try recompiling without -O and after removing
the `INLINE' from the definition of mark_maybe_object.  Then you will
be able to look at its stack frame and maybe figure out what happened
there.




reply via email to

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