This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients amaury.forgeotdarc, gangesmaster, georg.brandl, loewis, pitrou
Date 2009-03-18.17:27:52
SpamBayes Score 1.1483592e-12
Marked as misclassified No
Message-id <1237397274.2.0.488724702253.issue5508@psf.upfronthosting.co.za>
In-reply-to
Content
Here is the reason. Starting from Python 2.6, classes can redefine
subclass checking using a special method named __subclasscheck__. Since
this method can contain arbitrary code, we have to guard against
recursion when calling it. Therefore, the recursion count is incremented
before doing a subclass checking.

Now the problem is that when checking for an exception, we do exactly
that: check whether the raised exception is a subclass of a given type.
If the raised exception occurred just after a recursion overflow, it can
happen that subclass checking overflows the recursion count again.
However, since we don't want the newly raised exception (during
exception subclass checking) to overwrite the original one, so we just
write out it (using PyErr_WriteUnraisable, precisely) and then discard it.

That's where these strange messages come from.
(note: py3k has a slightly different recursion checking mechanism and
doesn't print such messages)
History
Date User Action Args
2009-03-18 17:27:54pitrousetrecipients: + pitrou, loewis, georg.brandl, amaury.forgeotdarc, gangesmaster
2009-03-18 17:27:54pitrousetmessageid: <1237397274.2.0.488724702253.issue5508@psf.upfronthosting.co.za>
2009-03-18 17:27:52pitroulinkissue5508 messages
2009-03-18 17:27:52pitroucreate