Jeremy Hylton <jhyl...@gmail.com> added the comment:

I spent some time to understand the example script today.  The specific issue 
is that a set of objects get put into the list of unreachable objects with 
finalizers (both Immutable and Finalizer instances).  When Cycle's __dict__ is 
cleared, it also decrefs Immutable which resurrects it and Finalizer.  The 
garbage collector is not prepared for an unreachable finalizer object to become 
reachable again.  More generally, it's hard to assume anything about the state 
of the finalizers after unreachable trash is collected.  I'll think more about 
what to do, but I don't see any easy solutions.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue1540>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to