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 tim.peters
Recipients nascheme, pitrou, tim.peters
Date 2019-10-06.18:33:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1570386821.26.0.936975116344.issue38379@roundup.psfhosted.org>
In-reply-to
Content
Just noting that check_garbage() currently only determines which trash objects are now directly reachable from outside.  To be usable for the intended purpose, it would need to go on to compute which trash objects are reachable from those too.

Maybe a new function

static void
deduce_unreachable(PyGC_Head *base, PyGC_Head *unreachable)

that packaged the steps through move_unreachable().  The main function would use that on `young`, and check_garbage() on `unreachable` to find the _still_ unreachable objects.

I don't care about the expense.  Outside of zleak.py, the number of unreachable objects is usually small, so it's usually cheap to make another pass over just them.
History
Date User Action Args
2019-10-06 18:33:41tim.peterssetrecipients: + tim.peters, nascheme, pitrou
2019-10-06 18:33:41tim.peterssetmessageid: <1570386821.26.0.936975116344.issue38379@roundup.psfhosted.org>
2019-10-06 18:33:41tim.peterslinkissue38379 messages
2019-10-06 18:33:40tim.peterscreate