[Python-Dev] Reference cycles in Exception.__traceback__

Antoine Pitrou solipsis at pitrou.net
Wed Mar 5 17:41:42 CET 2014


Le 05/03/2014 17:37, Victor Stinner a écrit :
>
> Python 3.4 introduced frame.clear(), but frame.clear() raises an
> RuntimeError if the frame is still running. And it doesn't break all
> reference cycles.
>
> An obvious workaround is to store the traceback as text, but this
> operation is "expensive" especially if the traceback is only needed in
> rare cases.

Another "obvious" workaround is to call frame.clear() from the parent 
function (i.e. have a dedicated wrapping layer).

Regards

Antoine.




More information about the Python-Dev mailing list