On Tue, 2021-08-17 at 12:14 +0100, Irit Katriel wrote:

On Tue, Aug 17, 2021 at 12:05 PM Duncan Grisby <duncan@grisby.org> wrote:
I don't know if it is pertinent to this at all, but I raised https://bugs.python.org/issue44449 in which the faulthandler module can lead to a segfault inside Py_TRASHCAN_SAFE_BEGIN. Would that be avoided if frameobject.c was changed to use Py_TRASHCAN_BEGIN / END?


We just changed frameobject.c to use the new macros. Can you check? 
https://github.com/python/cpython/pull/27683

Thanks. Victor Stinner has now commented on the defect I raised to say that it is actually a bug in the traceback module, in that it should not be using Py_DECREF at all inside a signal handler. The fact that it leads to use of the old trashcan macros is not the cause of the crash that I saw.

I therefore don't think it's necessary for me to check with the updated frameobject.c. Do you agree?  I can try to reproduce the situation, but I can't just quickly test it because the infrastructure where the crash was seen is now being used for other things.

Duncan.

-- 
Duncan Grisby <duncan@grisby.org>