[Python-Dev] ref leak w/except hooks

Brett Cannon brett at python.org
Thu Mar 2 19:36:10 CET 2006


On 3/2/06, Brett Cannon <brett at python.org> wrote:
> On 3/2/06, Neal Norwitz <nnorwitz at gmail.com> wrote:
> > The following code leaks a reference.  Original test case from
> > Lib/test/test_sys.py in test_original_excepthook.
> >
> > import sys, StringIO
> > eh = sys.__excepthook__
> > try:
> >   raise ValueError(42)
> > except ValueError, exc:
> >   exc_type, exc_value, exc_tb = sys.exc_info()
> >   eh(exc_type, None, None)
>
> Which can be simplified to::
>
> from sys import __excepthook__ as eh
>
> try:
>     raise BaseException
> except:
>     eh(BaseException, None, None)
>
> It fails if the first argument to sys.__excepthook__ is either a
> built-in exception or a classic class.  it looks like strings and
> new-style classes do not trigger it.

And is now fixed in rev. 42794 .

-Brett


More information about the Python-Dev mailing list