Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.1k
[3.10] gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError in ConnectionHandler; rely on __exit__ (GH-126503) (GH-126572)#134030
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
…Error in ConnectionHandler; rely on __exit__ (pythonGH-126503) (pythonGH-126572)pythongh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError in ConnectionHandler; rely on __exit__ (pythonGH-126503)If `read()` in the ConnectionHandler thread raises `OSError` (except `ConnectionError`),the ConnectionHandler shuts down the entire ThreadedEchoServer,preventing further connections.It also does that for `EPROTOTYPE` in `wrap_conn`.As far as I can see, this is done to avoid the server thread getting stuck,forgotten, in its accept loop. However, since 2011 (5b95eb9)the server is used as a context manager, and its `__exit__` does `stop()` and `join()`.(I'm not sure if we *always* used `with` since that commit, but currently we do.)Make sure that the context manager *is* used, and remove the `server.stop()`calls from ConnectionHandler.(cherry picked from commitc9cda16)(cherry picked from commitaee80cd)Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>Co-authored-by: Petr Viktorin <encukou@gmail.com>
bedevere-bot commentedMay 15, 2025
🤖 New build scheduled with the buildbot fleet by@encukou for commitfa8024b 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F134030%2Fmerge If you want to schedule another build, you need to add the🔨 test-with-buildbots label again. |
There are more buildbot failures here than the 3.11 ones. Fedora Stable Refleaks and RHEL8 Refleaks are of particular concern. |
I bet the asyncio refleak tests time out after 45 minutes becausepython/buildmaster-config#545 didn't target PR builders. For the other builds: Android, ios, wasi, --disable-gil & bigmem are not set up for 3.10. |
f85e71a
intopython:3.10Uh oh!
There was an error while loading.Please reload this page.
gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError in ConnectionHandler; rely onexit (GH-126503)
If
read()
in the ConnectionHandler thread raisesOSError
(exceptConnectionError
),the ConnectionHandler shuts down the entire ThreadedEchoServer,
preventing further connections.
It also does that for
EPROTOTYPE
inwrap_conn
.As far as I can see, this is done to avoid the server thread getting stuck,
forgotten, in its accept loop. However, since 2011 (5b95eb9)
the server is used as a context manager, and its
__exit__
doesstop()
andjoin()
.(I'm not sure if wealways used
with
since that commit, but currently we do.)Make sure that the context manageris used, and remove the
server.stop()
calls from ConnectionHandler.
(cherry picked from commitc9cda16)
(cherry picked from commitaee80cd)
Co-authored-by: Miss Islington (bot)31488909+miss-islington@users.noreply.github.com
Co-authored-by: Petr Viktorinencukou@gmail.com