gh-128479: fix asyncio staggered race leaking tasks, and logging unhandled exception.append exception - #128475
Conversation
….append exception
There was a problem hiding this comment.
probably this should just always raise it, not sure why this was suppressed in the original code
ZeroIntensity
left a comment
There was a problem hiding this comment.
I haven't stayed up-to-date with the staggered_race problems. Did we adopt some of aiohttp's tests?
…vOrF-.rst Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Did you mean aiohappyeyeballs? No those have yet to be added |
|
Ah yeah, aiohappyeyeballs. Can we run their (old) test suite against this PR? I don't want another release blocker fiasco. |
|
@ZeroIntensity I got it running against the newest suite: graingert/aiohappyeyeballs@8587b00#diff-d38ea0c7de1f2c4e6030c2e14c786b426be1f20310d14997973c0c1f7621d0e4L33 but it failed on a test that multiple winners can complete. This is not acceptable for the cpython implementation, because it would result in connection objects being left unclosed and result in ResourceWarnings. I'm not sure which test suite is the old test suite you refer to, do you have a commit hash for that? |
I don't have a commit hash, but I mean "old" as in when aiohappyeyeballs was still using our |
ZeroIntensity
left a comment
There was a problem hiding this comment.
Sorry for dropping the ball here. Looks mostly good, with a few edge cases/nitpicks to be dealt with.
|
Thanks @graingert for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13. |
…g unhandled exception.append exception (pythonGH-128475) (cherry picked from commit ec91e1c) Co-authored-by: Thomas Grainger <tagrain@gmail.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
|
GH-129227 is a backport of this pull request to the 3.13 branch. |
|
Sorry @graingert and @ambv, I had trouble completing the backport. |
…g unhandled exception.append exception (pythonGH-128475) (cherry picked from commit ec91e1c) Co-authored-by: Thomas Grainger <tagrain@gmail.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
|
GH-129228 is a backport of this pull request to the 3.12 branch. |
…ng unhandled exception.append exception (GH-128475) (#129227) gh-128479: fix asyncio staggered race leaking tasks, and logging unhandled exception.append exception (GH-128475) (cherry picked from commit ec91e1c) Co-authored-by: Thomas Grainger <tagrain@gmail.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
…ng unhandled exception.append exception (GH-128475) (#129228) gh-128479: fix asyncio staggered race leaking tasks, and logging unhandled exception.append exception (GH-128475) (cherry picked from commit ec91e1c) Co-authored-by: Thomas Grainger <tagrain@gmail.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
related aiohttp issue aio-libs/aiohttp#10506 In #101 we replaced the staggered race implementation since the cpython version had races that were not fixed at the time. cpython has since updated the implementation to fix additional races. Our current implementation still has problems with cancellation and cpython has fixed that in python/cpython#128475 and python/cpython#124847 This PR ports the latest cpython implementation


Issue currently pending, but this fixes the following exception when running under anyio's pytest plugin, or logging unhandled asyncio exceptions:
https://github.com/Chia-Network/chia-blockchain/actions/runs/12586550910/job/35084132471#step:16:1813