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 njs
Recipients asvetlov, lemburg, njs, tim.peters, twouters, yselivanov
Date 2020-05-28.07:51:18
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1590652278.45.0.456977303615.issue40789@roundup.psfhosted.org>
In-reply-to
Content
I don't think I understand what you mean by "reentrant"... we don't have any single piece of code that's calling back into itself. The question is about what the tp_dealloc contract is.

Digging into it more, it looks like the standard is for typeobject.c:slot_tp_finalize to save/restore exceptions when invoking Python-level __del__ methods, rather than it being the responsibility of the tp_dealloc or tp_finalizer caller. (And finding that code also answers my next question, which was going to be whether there are any other dance steps you have to do when re-entering CPython from a tp_dealloc!)

So I guess this is a PySide2 bug.
History
Date User Action Args
2020-05-28 07:51:18njssetrecipients: + njs, lemburg, tim.peters, twouters, asvetlov, yselivanov
2020-05-28 07:51:18njssetmessageid: <1590652278.45.0.456977303615.issue40789@roundup.psfhosted.org>
2020-05-28 07:51:18njslinkissue40789 messages
2020-05-28 07:51:18njscreate