gh-155504: Set the interpreter before fallible thread state initialization (#155590)

kumaraditya303 <[email protected]>
Newsgroups gmane.comp.python.cvs
Message-ID <[email protected]>
https://github.com/python/cpython/commit/94a75f74a13a11b4025c02612c47f61dec0a7398
commit: 94a75f74a13a11b4025c02612c47f61dec0a7398
branch: main
author: Abdul Mohammad <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2026-08-16T08:42:24+05:30
summary:

gh-155504: Set the interpreter before fallible thread state initialization (#155590)

files:
A Misc/NEWS.d/next/Core_and_Builtins/2026-08-11-13-50-35.gh-issue-155504.PsTqZm.rst
M Python/pystate.c

diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-08-11-13-50-35.gh-issue-155504.PsTqZm.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-08-11-13-50-35.gh-issue-155504.PsTqZm.rst
new file mode 100644
index 000000000000000..e042bf3554e6f05
--- /dev/null
+++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-08-11-13-50-35.gh-issue-155504.PsTqZm.rst
@@ -0,0 +1,2 @@
+Fix a crash when thread state creation fails before the thread state is fully
+initialized.
diff --git a/Python/pystate.c b/Python/pystate.c
index 646c157007d4ac1..6b0d6a7a372c926 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -1508,6 +1508,8 @@ alloc_threadstate(PyInterpreterState *interp)
         }
         reset_threadstate(tstate);
     }
+    // Set the interpreter before any later initialization can fail.
+    tstate->base.interp = interp;
     return tstate;
 }
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.