Message108653
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. |
|
Date |
User |
Action |
Args |
2010-06-25 23:58:02 | ghazel | set | recipients:
+ ghazel, tim.peters, loewis, akuchling, terry.reedy, vstinner |
2010-06-25 23:58:01 | ghazel | set | messageid: <1277510281.98.0.28764358767.issue1565525@psf.upfronthosting.co.za> |
2010-06-25 23:58:00 | ghazel | link | issue1565525 messages |
2010-06-25 23:57:57 | ghazel | create | |
|