You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Py_NewInterpreter causes bogus fatal error along the failure path #90128
The failure cleanup of Py_NewInterpreter causes a bogus fatal error on the call to PyThreadState_Delete. The error is about deleting the current thread state. The saved thread state should be swapped back in before deleting the new thread state.
I can't remember any more what I did to cause Py_NewInterpreter to fail. It's okay. I gave up on this after I tried several times to sign the CLA without success.
I don't remember what I was doing to get into the failure path. I can see a few different cases (lines with goto error in new_interpreter) but I don't know how to trigger any of them. The only obvious thing is not holding the GIL when calling Py_NewInterpreter, but that causes its own more immediate fatal error. As far as I'm concerned, this isn't worth pursuing any farther.
Activity
hackhaslam commentedon Dec 3, 2021
The failure cleanup of
Py_NewInterpretercauses a bogus fatal error on the call toPyThreadState_Delete. The error is about deleting the current thread state. The saved thread state should be swapped back in before deleting the new thread state.iritkatriel commentedon Nov 23, 2022
@hackhaslam can you provide a test to reproduce what you are reporting?
hackhaslam commentedon Nov 23, 2022
I can't remember any more what I did to cause
Py_NewInterpreterto fail. It's okay. I gave up on this after I tried several times to sign the CLA without success.iritkatriel commentedon Nov 23, 2022
We've moved to within since then and the CLA process has changed. Do you want to try again?
Also, the PR would need a unit test so we need to know how to reproduce the bug.
iritkatriel commentedon Nov 23, 2022
CC @ericsnowcurrently
hackhaslam commentedon Nov 23, 2022
I don't remember what I was doing to get into the failure path. I can see a few different cases (lines with
goto errorinnew_interpreter) but I don't know how to trigger any of them. The only obvious thing is not holding the GIL when callingPy_NewInterpreter, but that causes its own more immediate fatal error. As far as I'm concerned, this isn't worth pursuing any farther.iritkatriel commentedon Nov 23, 2022
Ok, thanks. I'll close it then.