We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
uvloop version: 0.17.0 Python version: 3.11.4 Platform: Linux
I believe the root cause of this issue is that:
accept()
getpeername()
Here's strace log:
561904 setsockopt(19, SOL_TCP, TCP_NODELAY, [1], 4) = 0 561904 accept4(18, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable) 561904 getsockname(19, {sa_family=AF_INET, sin_port=htons(32111), sin_addr=inet_addr("127.0.0.1")}, [128 => 16]) = 0 561904 getpeername(19, {sa_family=AF_INET, sin_port=htons(39898), sin_addr=inet_addr("127.0.0.1")}, [128 => 16]) = 0 561904 getpid() = 561904
Please note, that standard asyncio loop uses accept4() call to get the peer address:
asyncio
accept4()
564955 accept4(13, {sa_family=AF_INET, sin_port=htons(35516), sin_addr=inet_addr("127.0.0.1")}, [16], SOCK_CLOEXEC) = 16 564955 getsockname(16, {sa_family=AF_INET, sin_port=htons(32111), sin_addr=inet_addr("127.0.0.1")}, [128 => 16]) = 0 564955 ioctl(16, FIONBIO, [1]) = 0
Said that, there's an issue raised in libuv repo which should be addressed first, I suppose: libuv/libuv#3339
libuv
The text was updated successfully, but these errors were encountered:
No branches or pull requests
uvloop version: 0.17.0
Python version: 3.11.4
Platform: Linux
I believe the root cause of this issue is that:
accept()
getpeername()
fails if the client disconnected already (which is unlikely, but possible)Here's strace log:
Please note, that standard
asyncio
loop usesaccept4()
call to get the peer address:Said that, there's an issue raised in
libuv
repo which should be addressed first, I suppose: libuv/libuv#3339The text was updated successfully, but these errors were encountered: