This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Jeremy.Hylton
Recipients Jeremy.Hylton, amaury.forgeotdarc, brian.curtin, christian.heimes, ezio.melotti, gvanrossum, tim.peters
Date 2010-02-19.03:39:08
SpamBayes Score 8.337775e-13
Marked as misclassified No
Message-id <1266550751.24.0.762194216435.issue1540@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2010-02-19 03:39:11Jeremy.Hyltonsetrecipients: + Jeremy.Hylton, gvanrossum, tim.peters, amaury.forgeotdarc, christian.heimes, ezio.melotti, brian.curtin
2010-02-19 03:39:11Jeremy.Hyltonsetmessageid: <1266550751.24.0.762194216435.issue1540@psf.upfronthosting.co.za>
2010-02-19 03:39:09Jeremy.Hyltonlinkissue1540 messages
2010-02-19 03:39:08Jeremy.Hyltoncreate