[Python-Dev] Traceback problem

Guido van Rossum guido@python.org
Mon, 24 Feb 2003 20:57:40 -0500


[Guido]
> > I believe that Stackless supports Python 2.1 or older, and we're not
> > adding features.  Even if Stackless supported Python 2.2, adding a new
> > feature would be iffy.

[Christian]
> Huh? What makes you believe that?

I thought quite a while ago you announced you were giving up the old
stackless code.  I must have misunderstood.

> I'm talking of 2.3, of course.

But without GC, right?  Or did I misunderstand that too?  I thought
you told me that your customers didn't want GC enabled?  But in 2.3 GC
can't be disabled.  So I guess I'm unclear on what you want.

> I would also like to point out that the documentation
> of sys.exc_info is very misleading, and I always
> programmed acording to this false information:
> 
> """
>  >>> print sys.exc_info.__doc__
> exc_info() -> (type, value, traceback)
> 
> Return information about the exception that is currently being handled.
> This should be called from inside an except clause only.
>  >>>
> """

It's pretty complex to explain the actual behavior, so I gave a
recipe that's a little more restricted but is guaranteed to work.

> Where I have to say that I'm in favor of doing like
> the documentation claims.

Too bad, that would definitely break existing code.

[And later, Guido]
> > Well, Christian explained that it was a problem because they have
> > 1000s of threads.

[Christian]
> Yeah. But standard CPython can exploit the same thing, with a
> handful of real threads, which happen to catch exceptions
> from, say, a very deep, very memory consming chain of frames.
> These are all kept alive, and from the documentation,
> people don't expect this!

Who reads documentation. :-)

> ...
> 
> > I don't have time to write the code, but I'll entertain a patch before
> > 2.3b1.
> 
> I was about to supply a patch, that's why I asked for
> the right syntax. Do you want an extra function of which name,
> or do you like a default arg to exc_info?
> Both patches should not take me more than 1/2 hour, or I
> should better give up on programming and become a farmer.

You and Kevin Jacobs can argue about the syntax.

--Guido van Rossum (home page: http://www.python.org/~guido/)