diff -r 0ea39719be44 Lib/asyncio/futures.py --- a/Lib/asyncio/futures.py Fri Dec 20 10:44:00 2013 +0100 +++ b/Lib/asyncio/futures.py Fri Dec 20 10:52:48 2013 +0100 @@ -309,6 +309,11 @@ class Future: self._schedule_callbacks() if _PY34: self._log_traceback = True + # Clear frames of the traceback to explicitly break a reference + # cycle. Frames cannot be cleared immediatly because the current + # frame is running. + self._loop.call_soon(traceback.clear_frames, + self._exception.__traceback__) else: self._tb_logger = _TracebackLogger(exception) # Arrange for the logger to be activated after all callbacks