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

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

Re: frames vs. weak hash tables and garbage collection


From: Richard Stallman
Subject: Re: frames vs. weak hash tables and garbage collection
Date: Thu, 27 Sep 2007 18:17:41 -0400

Can you try  stepping thru the function sweep_weak_table
when it operates on this hash table, and see what it does
when it gets to this line

          int key_known_to_survive_p = survives_gc_p (HASH_KEY (h, i));

and following lines?

If key_known_to_survive_p is nonzero, can you see
why?  What happens inside survives_gc_p?

(You can verify that the arg to survives_gc_p is indeed
this frame.)

If it appears that the frame really is marked, the question
is why.  You could put a conditional breakpoint at mark_object
testing for obj == the Lisp_Object for that frame.
To get its value as hex, save it at the other breakpoint
when you see it passed to survives_gc_p.

With these methods, you should be able to track down
the cause of the bug.

There is simply no point in trying various different cases.
It is so hard to figure out a bug from that sort of information
that I consider it just a distraction.




reply via email to

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