[Python-bugs-list] [ python-Bugs-473753 ] Plug sys.exc_info() leaks
noreply@sourceforge.net
noreply@sourceforge.net
Mon, 22 Oct 2001 12:12:49 -0700
Bugs item #473753, was opened at 2001-10-22 12:12
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=473753&group_id=5470
Category: Python Interpreter Core
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Peters (tim_one)
Assigned to: Nobody/Anonymous (nobody)
Summary: Plug sys.exc_info() leaks
Initial Comment:
As the Library manual has warned for years, this kind
of program leaks bigtime:
import sys
def f():
. try:
. 1 / 0
. except ZeroDivisionError:
. err = sys.exc_info()
while 1:
. f()
because err[-1] is a traceback object, from which f's
frame can be reached, from which we can get back
to 'err'.
2.2 added frames to gc (thanks to NeilS), but this
example still leaks. That's at best an embarrassing
trap, and it just popped up again in Zope's testing
framework. Best guess is that a cure amounts to
adding traceback objects to gc too, although I haven't
tried that so am not sure.
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=473753&group_id=5470