[Python-bugs-list] [ python-Bugs-473753 ] Plug sys.exc_info() leaks
noreply@sourceforge.net
noreply@sourceforge.net
Fri, 26 Oct 2001 07:24:39 -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: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Tim Peters (tim_one)
Assigned to: Jeremy Hylton (jhylton)
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.
----------------------------------------------------------------------
>Comment By: Jeremy Hylton (jhylton)
Date: 2001-10-26 07:24
Message:
Logged In: YES
user_id=31392
Fixed in rev 2.34 of traceback.c.
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=473753&group_id=5470