-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
gh-94777: Fix deadlock in ProcessPoolExecutor #94784
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
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the report and the fix!
I was able to repro the issue (on MacOS, 3.13 main branch as of today) and confirmed this patch fixes it.
@gpshead @pitrou You are listed in devguide as experts for multiprocessing module; any concerns about merging this fix? We ran into this deadlock in an internal codebase and @mpage independently investigated and produced this exact same fix, before we found this issue and PR. So I'm inclined to merge, but not a multiprocessing expert. |
@carljm Thanks for the ping. No objection from me. |
Oh nice, LGTM. Thanks! I've tweaked the NEWS entry and hit the auto-merge button. |
Sorry @lpaulot and @gpshead, I had trouble checking out the |
Fixes a hang in multiprocessing process pool executor when a child process crashes and code could otherwise block on writing to the pipe. See pythonGH-94777 for more details. (cherry picked from commit 6782fc0) Co-authored-by: Louis Paulot <[email protected]>
GH-106607 is a backport of this pull request to the 3.11 branch. |
Fixes a hang in multiprocessing process pool executor when a child process crashes and code could otherwise block on writing to the pipe. See pythonGH-94777 for more details. (cherry picked from commit 6782fc0) Co-authored-by: Louis Paulot <[email protected]>
GH-106609 is a backport of this pull request to the 3.12 branch. |
) gh-94777: Fix deadlock in ProcessPoolExecutor (GH-94784) Fixes a hang in multiprocessing process pool executor when a child process crashes and code could otherwise block on writing to the pipe. See GH-94777 for more details. (cherry picked from commit 6782fc0) Co-authored-by: Louis Paulot <[email protected]>
) gh-94777: Fix deadlock in ProcessPoolExecutor (GH-94784) Fixes a hang in multiprocessing process pool executor when a child process crashes and code could otherwise block on writing to the pipe. See GH-94777 for more details. (cherry picked from commit 6782fc0) Co-authored-by: Louis Paulot <[email protected]>
Fixes #94777