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 vstinner
Recipients brett.cannon, pitrou, vstinner, zach.ware
Date 2017-08-31.23:48:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1504223303.13.0.241300965127.issue31217@psf.upfronthosting.co.za>
In-reply-to
Content
Antoine: "I doubt it.  If that was the case, the reference count would increase as well."

The bug is really weird :-)


Antoine: "Actually, leak2.py doesn't attempt to cleanup anything between runs, so it can't be reliable for detecting leaks.  You lack dash_R_cleanup() somewhere."

I simplified dash_R_cleanup() and at the end, it was empty :-) I don't see how the test_current_frames() would need to clear any kind of cache.

Maybe:

* sys._clear_type_cache()
* gc.collect()
* C function clear_freelists() of gcmodule.c

But I tried to call these functions, and it doesn't change anything.

I don't see how calling set.add() and set.discard() would impact any cache, except of maybe of a free list?

The strange thing is that calling dangling.clear() explicitly in test_current_frames() "fixes the leak" (hides the bug?). But any tiny change on this file also hides the bug. The script is very fragile.
History
Date User Action Args
2017-08-31 23:48:23vstinnersetrecipients: + vstinner, brett.cannon, pitrou, zach.ware
2017-08-31 23:48:23vstinnersetmessageid: <1504223303.13.0.241300965127.issue31217@psf.upfronthosting.co.za>
2017-08-31 23:48:23vstinnerlinkissue31217 messages
2017-08-31 23:48:23vstinnercreate