Uh oh!
There was an error while loading. Please reload this page.
GH-96827: Don't touch closed loops from executor threads - #96837
Merged
Conversation
kumaraditya303
self-requested a review
September 17, 2022 10:29
gvanrossum
marked this pull request as ready for review
September 29, 2022 22:06
gvanrossum
commented
Sep 29, 2022
MemberAuthor
At this point (after investing over an hour of my time) I feel it's not worth it to try and come up with a test that reproduces the original issue. The changes appear straightforward enough: in certain edge cases don't attempt to set a future's state when its loop is already closed. |
miss-islington
commented
Sep 30, 2022
Contributor
Thanks @gvanrossum for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11. |
bedevere-bot
commented
Sep 30, 2022
GH-97690 is a backport of this pull request to the 3.11 branch. |
bedevere-bot
commented
Sep 30, 2022
GH-97691 is a backport of this pull request to the 3.10 branch. |
miss-islington pushed a commit
to miss-islington/cpython
that referenced
this pull request
Sep 30, 2022
…nGH-96837) * When chaining futures, skip callback if loop closed. * When shutting down an executor, don't wake a closed loop. (cherry picked from commit e9d6376) Co-authored-by: Guido van Rossum <guido@python.org>
miss-islington pushed a commit
to miss-islington/cpython
that referenced
this pull request
Sep 30, 2022
…nGH-96837) * When chaining futures, skip callback if loop closed. * When shutting down an executor, don't wake a closed loop. (cherry picked from commit e9d6376) Co-authored-by: Guido van Rossum <guido@python.org>
miss-islington added a commit
that referenced
this pull request
Sep 30, 2022
miss-islington added a commit
that referenced
this pull request
Sep 30, 2022
serhiy-storchaka pushed a commit
to serhiy-storchaka/cpython
that referenced
this pull request
Oct 2, 2022
…n#96837) * When chaining futures, skip callback if loop closed. * When shutting down an executor, don't wake a closed loop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It's possible for an event loop's default executor to survive the loop. When the executor is finally shut down, a few things try to wake up the loop, and nasty RuntimeErrors are printed. But there's nothing the executor can do about that, so let's just not even try.
This is a draft PR because I haven't figured out a way to test this properly. (There's a repro in the issue, GH-96827.)