You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In OpenStack we see that sometimes calling eventlet's select.select with timeout=0.0 hangs forever. According to the doc of python3 stdlib select.select. Timeout 0.0 means non blocking call to select.
. By that the above reproduce hangs for ever as both 0.0 timer expires in eventlet before the current eventlet reaches the hub.switch() call. However I'm not sure that injecting sleep to such eventlet code is a valid reproducer.
What is the motivation for using select() and not epoll() or poll()? select() is worse in every way, the only reason to use it is if you are on an obsolete Unix platform.
What is the motivation for using select() and not epoll() or poll()? select() is worse in every way, the only reason to use it is if you are on an obsolete Unix platform.
In OpenStack we see that sometimes calling eventlet's select.select with timeout=0.0 hangs forever. According to the doc of python3 stdlib select.select. Timeout 0.0 means non blocking call to select.
Please see the stack of the stuck eventlet in: https://bugs.launchpad.net/neutron/+bug/2015065/comments/8 and my analysis of the call from urllib3 to eventlet in https://bugs.launchpad.net/neutron/+bug/2015065/comments/11 .
I tried to create a minimal reproducer
But this alone does not hang.
I suspect that the CI system that showing the hang is heavily loaded. So I tried to inject sleep just before
eventlet/eventlet/green/select.py
Line 80 in 88ec603
eventlet verison: 0.33.1
urllib3 version: 1.26.12
python version: 3.10.6-1~22.04.2ubuntu1
The text was updated successfully, but these errors were encountered: