-
-
Notifications
You must be signed in to change notification settings - Fork 90
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 our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows error 10022 kills threads #375
Labels
bug
Something is broken
reproducer: missing
This PR or issue lacks code, which reproduce the problem described or clearly understandable STR
Comments
Looks like this error code is sometimes exposed as
So it seems like maybe it should be covered already. At least in some envs. But somebody needs to check a reproducer under a relevant env. One way to do this is to connect to a GHA worker using https://github.com/marketplace/actions/debugging-with-tmate. |
webknjaz
added
reproducer: missing
This PR or issue lacks code, which reproduce the problem described or clearly understandable STR
and removed
triage
labels
Oct 3, 2022
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 12, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
16 tasks
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 13, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 13, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 21, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 22, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 23, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 23, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
to webknjaz/cheroot
that referenced
this issue
Mar 27, 2024
This patch aims to prevent a situation when the working threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. This was causing DoS in many situations, including TLS errors and attempts to close the underlying sockets erroring out. Fixes cherrypy#358 Ref cherrypy#375 Resolves cherrypy#365
webknjaz
added a commit
that referenced
this issue
Mar 31, 2024
A DoS would happen in many situations, including TLS errors and attempts to close the underlying sockets erroring out. This patch aims to prevent a situation when the worker threads are killed by arbitrary exceptions that bubble up to their entry point layers that aren't handled properly or at all. PR #649 Fixes #358 Fixes #354 Ref #310 Ref #346 Ref #375 Ref #599 Ref #641 Resolves #365
3 tasks
Hi, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
Something is broken
reproducer: missing
This PR or issue lacks code, which reproduce the problem described or clearly understandable STR
β I'm submitting a ...
π Describe the bug. What is the current behavior?
Sometimes when closing a connection, we get an error, probably because it's already closed or similar. This is addressed in 384e6d0 , the problem is that in windows the error might instead be WSAEINVAL (10022), and that is not caught.
β What is the motivation / use case for changing the behavior?
Because of this, in combination with, I think, the error seen in #358 , we are eventually running out of threads, and the server stops responding completely.
π‘ To Reproduce
Don't know how to reproduce, we get this error sporadically in production. All threads are typically gone in a few days or sometimes weeks.
π‘ Expected behavior
I expect this error to be ignored, so that the thread keeps on running.
π Details
Also tried switching to pyopenssl, but the same error happened there too.
π Environment
π Additional context
A typical error:
Then similar exceptions for thread after thread, until none are left.
In the references added in 9f9de65 there are several examples of dealing with error 10022 also, for example python/cpython@83a2c28 .
The text was updated successfully, but these errors were encountered: