Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
gh-139462: Make the ProcessPoolExecutor BrokenProcessPool exception report which child process terminated#139486
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Most changes to Pythonrequire a NEWS entry. Add one using theblurb_it web app or theblurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
python-cla-botbot commentedOct 1, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
ZeroIntensity left a comment
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.
Per the bot, please add a news entry, and please also update the "What's New in Python 3.15" document.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Most changes to Pythonrequire a NEWS entry. Add one using theblurb_it web app or theblurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
ZeroIntensity left a comment
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.
Just down to docs nitpicks for me. The rest looks good.
Uh oh!
There was an error while loading.Please reload this page.
Misc/NEWS.d/next/Library/2025-10-02-22-29-00.gh-issue-139462.VZXUHe.rst OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
jberg5 commentedOct 2, 2025
There was a fun issue where the precommit merge conflict checker thought that a perfectly legitimate string was a problem: I removed one of the |
jberg5 commentedOct 2, 2025
Thanks@ZeroIntensity, appreciate all the feedback! |
ZeroIntensity left a comment
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, this looks good to me. I'll wait for@gpshead as the multiprocessing expert to decide on the weird triple-quotes in the message.
ZeroIntensity commentedOct 2, 2025
Hmm, something seems to be causing the tests to hang. |
Uh oh!
There was an error while loading.Please reload this page.
jberg5 commentedOct 6, 2025
Hi@ZeroIntensity and@gpshead! Tests are passing, let me know if there are any other changes you'd like me to make, or if this is good to go. |
Uh oh!
There was an error while loading.Please reload this page.
jberg5 commentedOct 14, 2025
@AA-Turner@ZeroIntensity@gpshead thanks for all the feedback thus far! Let me know if there's anything else you'd like me to change here. |
9e7340c intopython:mainUh oh!
There was an error while loading.Please reload this page.
…tion report which child process terminated (pythonGH-139486)Report which process terminated as cause of BPE
Uh oh!
There was an error while loading.Please reload this page.
See#139462 for more context.
Short summary: prior to this change, if a child process segfaulted when running in a concurrent.futures.ProcessPoolExecutor, the user would get a BrokenProcessPool exception with no information about which child process terminated or why.
In order to improve the debugging experience, this change attempts to report which child process terminated and with what exit code. For instance, if I have a worker process that segfaults, I'll now see something like: