-
Notifications
You must be signed in to change notification settings - Fork 551
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
SSLProtocol stalled during handshake #161
Comments
In 0.10.0 there's a 10 seconds timeout for the handshake operation. Is your endpoint slower than that? It's also a default timeout for handshake in asyncio 3.7, although it's configurable via the
That means asyncio 3.7 has this bug too. Will take a look. |
How do you think I found out? ;) 10s is wayyy to short once you have to communicate from/to Africa or Asia. I spent a month in Cape Town and learned this the hard way. In this case I couldn’t communicate with a server in India. If this goes into 3.7 there’s gonna be a lot of...reports. :D |
It would also be great if we could do something about the output btw. |
What default timeout would you suggest?
You mean the errno/CertificateError error? Or the "... stalled during handshake" error message? |
No clue! Check what browsers or Java or Go do maybe?
Both ✨ Although the errno thing is a lot more severe. |
(I can live with it staying at 10s btw as long as you give me a knob to turn. :)) |
(a PR to CPython to fix this: python/cpython#7321) |
Fixed in v0.10.1. Please try it ;) |
Happy to report I can connect to India again. :) |
0.10.0, doesn’t happen with 0.9.1
3.6.5
Ubuntu Xenial/Docker
PYTHONASYNCIODEBUG
in env?:Yes, but I get no additional output.
I have to communicate with a super-slow endpoint and since 0.10.0, the connection doesn’t go thru and aborts before the timeout I specify.
Stdout gets a string like:
<uvloop.loop.SSLProtocol object at 0x7f227a1a1048> stalled during handshake
. It seems like there’s a second timeout in play? I did measure the handshake by hand I would guess something around 5s.Downgrading back to 0.9.1 fixes the problem.
P.S. Bonus bug I cannot handily reproduce: sometimes I saw an AttributeError about
errno
not being onCertificateError
or something like that.The text was updated successfully, but these errors were encountered: