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 iritkatriel
Recipients Mark.Shannon, chris.jerdonek, corona10, gvanrossum, iritkatriel, lukasz.langa, miss-islington, pablogsal, vstinner
Date 2021-08-30.18:14:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1630347276.59.0.480297340535.issue44895@roundup.psfhosted.org>
In-reply-to
Content
I think the leak happens when we invoke GC while the recursion limit is exceeded. It goes way if make this change:


    def recurse_in_body_and_except():
        try:
            recurse_in_body_and_except()
        except RecursionError as e:
            gc.disable()
            recurse_in_body_and_except()
            gc.enable()


I also added a __del__ to B and saw it being called when recursion limit is small (though adding the __del__ makes the leak go away. Actually just adding "def f(): pass" is enough to make it go away).
History
Date User Action Args
2021-08-30 18:14:36iritkatrielsetrecipients: + iritkatriel, gvanrossum, vstinner, chris.jerdonek, lukasz.langa, Mark.Shannon, corona10, pablogsal, miss-islington
2021-08-30 18:14:36iritkatrielsetmessageid: <1630347276.59.0.480297340535.issue44895@roundup.psfhosted.org>
2021-08-30 18:14:36iritkatriellinkissue44895 messages
2021-08-30 18:14:36iritkatrielcreate