| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
@kumaraditya303 I don't know why but this started showing on our tests after #98572. I can't tell if that PR introduced a bug or it just exposed something wrong with our implementation. IMO, it seems it's something wrong with our implementation. |
Sorry, something went wrong.
|
asyncio always has surprises hence it is my favorite :) Seriously though this has uncovered another race in our implementation. The code does not guard against concurrent closing of the stream which leads to this failure. The connection_lost callback should be called only once and here it is being called more than once. Here's a better fix: diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 2685a3376c..c6aab408fc 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -152,6 +152,8 @@ def _force_close(self, exc):
self._loop.call_soon(self._call_connection_lost, exc)
def _call_connection_lost(self, exc):
+ if self._called_connection_lost:
+ return
try:
self._protocol.connection_lost(exc)
finally:
Feel free to update this PR with the patch above, I have verified this. |
Sorry, something went wrong.
Co-Authored-By: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Awesome! Thank you for the fix. I was trying to find something more elegant but I'm a noob at asyncio internals :). Your fix is way nicer. |
Sorry, something went wrong.
Co-Authored-By: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
There was a problem hiding this comment.
LGTM thanks for the PR!
Sorry, something went wrong.
|
I created #98730 to add tests for this. |
Sorry, something went wrong.
There was a problem hiding this comment.
Ironic.
Sorry, something went wrong.
|
Thanks @Fidget-Spinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11. |
Sorry, something went wrong.
|
Sorry @Fidget-Spinner, I had trouble checking out the 3.11 backport branch. |
Sorry, something went wrong.
|
GH-98753 is a backport of this pull request to the 3.10 branch. |
Sorry, something went wrong.
…lost multiple times (pythonGH-98704) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> (cherry picked from commit 8a75542) Co-authored-by: Ken Jin <kenjin@python.org>
|
Thanks @Fidget-Spinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11. |
Sorry, something went wrong.
|
GH-98754 is a backport of this pull request to the 3.11 branch. |
Sorry, something went wrong.
…lost multiple times (pythonGH-98704) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> (cherry picked from commit 8a75542) Co-authored-by: Ken Jin <kenjin@python.org>
…lost multiple times (pythonGH-98704) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.