Message246499
When storing an exception in an asyncio Future object, there is a high risk of creating a reference cycle. In Python 3, exception objects store a traceback object which store frame objects. The problem is that a frame can also have a reference to the exception: we have a reference cycle (exception -> traceback -> frame -> same exception).
In debug mode, Future.set_exception() can schedule a task (ex: using loop.call_soon) to check that there is no reference cycle.
See also the issue #23587: "asyncio: use the new traceback.TracebackException class". |
|
Date |
User |
Action |
Args |
2015-07-09 14:04:05 | vstinner | set | recipients:
+ vstinner, gvanrossum, yselivanov |
2015-07-09 14:04:05 | vstinner | set | messageid: <1436450645.37.0.566562867718.issue24598@psf.upfronthosting.co.za> |
2015-07-09 14:04:05 | vstinner | link | issue24598 messages |
2015-07-09 14:04:04 | vstinner | create | |
|