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 ghazel
Recipients akuchling, ghazel, loewis, terry.reedy, tim.peters, vstinner
Date 2010-06-25.23:57:57
SpamBayes Score 0.060762923
Marked as misclassified No
Message-id <1277510281.98.0.28764358767.issue1565525@psf.upfronthosting.co.za>
In-reply-to
Content
This is still an issue.

The bug I'm reporting had been explained well, I thought, but I'll repeat it in summary:
There is no way to pass around traceback objects without holding references to an excessive number of objects.

Traceback raising typically does not use these references at all, so having some way to discard them would be very valuable. This allows storing and passing tracebacks between threads (or coroutines or async tasks) without dying quickly due to memory bloat. The simple-minded way to fix this is to allow the user to break the reference themselves.

Fixing this bug would invalidate the need for hacks like the one Twisted has come up with in their twisted.python.Failure object which stringifies the traceback object, making it impossible to re-raise the exception. Failure has a lot of re-implementations of Exceptions and traceback objects as a result.
History
Date User Action Args
2010-06-25 23:58:02ghazelsetrecipients: + ghazel, tim.peters, loewis, akuchling, terry.reedy, vstinner
2010-06-25 23:58:01ghazelsetmessageid: <1277510281.98.0.28764358767.issue1565525@psf.upfronthosting.co.za>
2010-06-25 23:58:00ghazellinkissue1565525 messages
2010-06-25 23:57:57ghazelcreate