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 serhiy.storchaka
Recipients christian.heimes, methane, pitrou, rhettinger, scoder, serhiy.storchaka, vstinner
Date 2017-09-13.18:42:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1505328140.72.0.34965887185.issue31336@psf.upfronthosting.co.za>
In-reply-to
Content
> Since _PyDict_GetItem_KnownHash() may or may not set an exception, we have to check for a live exception after calling it, and that finds the old exception of the last attribute lookup and decides that its own lookup failed.

Hmm, with PyDict_GetItem() we don't falsely detect a lookup failing with a live exception set. Is it correct to call _PyType_Lookup() with an exception set? Perhaps we should save a current exception before calling find_name_in_mro() and restore it after. Or raise SystemError if an exception set. Or just add assert(!PyErr_Occurred()) at the begin of find_name_in_mro(). I don't know what is more correct.
History
Date User Action Args
2017-09-13 18:42:20serhiy.storchakasetrecipients: + serhiy.storchaka, rhettinger, pitrou, scoder, vstinner, christian.heimes, methane
2017-09-13 18:42:20serhiy.storchakasetmessageid: <1505328140.72.0.34965887185.issue31336@psf.upfronthosting.co.za>
2017-09-13 18:42:20serhiy.storchakalinkissue31336 messages
2017-09-13 18:42:20serhiy.storchakacreate