-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
[3.11]GH-112275: Fix HEAD_LOCK deadlock in child process after fork #112336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork.
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
@ambv I'm not sure this warrants a backport to security-only branches. |
Crashes and denial of service (like a dead lock) can be treated as security-adjacent fixes. I've been allowing those for my releases. |
Thanks @ChuBoning for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8, 3.9, 3.10. |
…fork (pythonGH-112336) HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork. (cherry picked from commit 522799a) Co-authored-by: ChuBoning <[email protected]> Co-authored-by: Łukasz Langa <[email protected]>
Sorry, @ChuBoning and @ambv, I could not cleanly backport this to
|
GH-123687 is a backport of this pull request to the 3.10 branch. |
Sorry, @ChuBoning and @ambv, I could not cleanly backport this to
|
I'll make the 3.8 and 3.9 backports manually. |
GH-123687 is a backport of this pull request to the 3.10 branch. |
…after fork (pythonGH-112336) HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork. (cherry picked from commit 522799a) Co-authored-by: ChuBoning <[email protected]> Co-authored-by: Łukasz Langa <[email protected]>
…H-112336) (#123687) HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork. (cherry picked from commit 522799a) Co-authored-by: ChuBoning <[email protected]> Co-authored-by: Łukasz Langa <[email protected]>
GH-123688 is a backport of this pull request to the 3.9 branch. |
…H-112336) (#123688) HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork. (cherry picked from commit 522799a) Co-authored-by: ChuBoning <[email protected]>
…fork (pythonGH-112336) (pythonGH-123688) HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork. (cherry picked from commit 522799a) (cherry picked from commit 0152431) Co-authored-by: Łukasz Langa <[email protected]> Co-authored-by: ChuBoning <[email protected]>
…H-112336) (GH-123688) (#123713) HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork. (cherry picked from commit 522799a) (cherry picked from commit 0152431) Co-authored-by: Łukasz Langa <[email protected]> Co-authored-by: ChuBoning <[email protected]>
HEAD_LOCK is called from _PyEval_ReInitThreads->_PyThreadState_DeleteExcept before _PyRuntimeState_ReInitThreads reinit runtime->interpreters.mutex which might be locked before fork.