Author vstinner
Recipients gvanrossum, vstinner, yselivanov
Date 2015-07-09.14:04:04
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1436450645.37.0.566562867718.issue24598@psf.upfronthosting.co.za>
In-reply-to
Content
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".
History
Date User Action Args
2015-07-09 14:04:05vstinnersetrecipients: + vstinner, gvanrossum, yselivanov
2015-07-09 14:04:05vstinnersetmessageid: <1436450645.37.0.566562867718.issue24598@psf.upfronthosting.co.za>
2015-07-09 14:04:05vstinnerlinkissue24598 messages
2015-07-09 14:04:04vstinnercreate