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
new monotonic broken on docker? #401
Comments
same error happens also when running not within docker, but also on debian jessie |
Thanks for reproduction script. |
The real issue, of course, has nothing to do with monotonic. But it does false help by masking real exception. Real issue is import cycle.
|
Meanwhile, dirty workaround is import eventlet
+eventlet.sleep()
eventlet.monkey_patch()
eventlet.listen(("localhost", 8000)) |
can this workaround be used for gunicorn eventlet class workers? |
although that's probably not really useful, I can confirm that this workaround also would fix gunicorn eventlet workers.. adding anyway, that's not really applicable... this should be fixed in eventlet |
Yeah should be fixed here. |
Just in case a further reference to this issue is needed, here is another re-creation, this using Ryu 4.13 on current Debian Stretch, and a code evaluation. Will the eventless.sleep() change work here? In which file is that change inserted? Error message: AttributeError("'module' object has no attribute 'epolls'",) Possible explanation: urllib3 is intercepting select calls, and not providing epoll or epolls. Question: How to bypass this? My script worked a few months ago when testing, so I am trying to narrow down what changed. In code in monotonic.py, I changed to get some debugging output (exception occurs on the statement between 'line d' and 'line g'), following code is starting around line 132 in montonic.py:
the
|
Try and see.
Where |
Making the following change to /usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py eliminated the exception (add 'eventless.sleep()) to line 32 of the file after the import statement):
|
Ran into this as well (via gunicorn on CentOS 7). Verified patch in geventlet.py, but would prefer eventlet release to fix this. |
I confirm this also happens on kali linux (debian-testing based) |
Any news? |
Not yet. |
This happens me in my docker instance of python 2.7.13 with nameko package PLS fix this because ist very important for me thanks |
I also get this inside of a Docker instance, specifically when running RYU. |
This patch adopts the workaround which is discussing on the eventlet team at the following: eventlet/eventlet#401 This workaround is suggested by Raymond Burkholder. Suggested-by: Raymond Burkholder <ray@oneunified.net> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
A bug in eventlet v20 or 21 caused the app to fail. Would get this error: Exception AttributeError: "'_SocketDuckForFd' object has no attribute '_closed'" in <bound method _SocketDuckForFd.__del__ of _SocketDuckForFd:9> Seems related to issue 401: new monotonic broken on docker? eventlet/eventlet#401
This patch adopts the workaround which is discussing on the eventlet team at the following: eventlet/eventlet#401 This workaround is suggested by Raymond Burkholder. Suggested-by: Raymond Burkholder <ray@oneunified.net> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Are there any updates here or just workarounds? We are looping to block the new eventlet in openstack due to this bug. https://review.openstack.org/464687 |
Project: openstack/requirements e0f0220a89688ce000698ae1cadda750f87a80fd block eventlet >= 0.21.0 There is an interaction between eventlet and monotonic on eventlet >= 0.21.0 which is triggered during oslo.db library loading. Upstream eventlet bug: eventlet/eventlet#401 Related-Bug: #1690819 Change-Id: I26965bd363661318a8f9646589755cbb78a58eb7
There is an interaction between eventlet and monotonic on eventlet >= 0.21.0 which is triggered during oslo.db library loading. Upstream eventlet bug: eventlet/eventlet#401 Related-Bug: #1690819 Change-Id: I26965bd363661318a8f9646589755cbb78a58eb7
Project: openstack/requirements e0f0220a89688ce000698ae1cadda750f87a80fd block eventlet >= 0.21.0 There is an interaction between eventlet and monotonic on eventlet >= 0.21.0 which is triggered during oslo.db library loading. Upstream eventlet bug: eventlet/eventlet#401 Related-Bug: #1690819 Change-Id: I26965bd363661318a8f9646589755cbb78a58eb7
Project: openstack/designate 4faac428bf2f825b192a044ff6e20bb61e003ca2 Blacklist python 3 UT because of eventlet bug Eventlet>=0.21.0 has been blocked in uc [1] due to bug [2]. Let's re-block failed py3 UT based on eventlet 0.21.0 until new release lands. [1]. https://review.openstack.org/#/c/464687/ [2]. eventlet/eventlet#401 Change-Id: I5b68731519bc7de1273ef9d397ed908be63db64e
just to be clear, was b756447 the fix for this bug? |
Yes, workaround.
Proper fix requires large rearrangement of modules to allow better import
graph.
…On Jan 8, 2018 01:47, "Matthew Thode" ***@***.***> wrote:
just to be clear, was b756447
<b756447>
the fix for this bug?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#401 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABpseKHr6dmiz-ID993npWhFQ-uqOIVks5tIUmSgaJpZM4M2n-_>
.
|
cool, thanks, do you know when the next release is supposed to be? I ask because I'd like to uncap eventlet in requirements for openstack. https://github.com/openstack/requirements/blob/master/global-requirements.txt#L56 |
@prometheanfire I want to fix this #147 problem with multiprocessing, seems it's a huge pain for many people. Meanwhile, my constant recommendation is to require particular commit id. It has all benefits of specifying exact version (repeatable build, no new errors) + absence of stupid pypi release bureaucracy. The only better way is to include dependency sources within your project to protect against upstream servers downtime. |
Unfortunately we cannot lock to a sha with how we are organized now, we only include releases, even rc and beta releases are rejected. |
@prometheanfire this fix was included in 0.22 release on pypi |
thanks :D |
This resolves eventlet/eventlet#401.
We are having some issues related to [1] with eventlet 0.22.1 from Fedora 28. Since upper-constraints is still listing 0.20.0, let's try using that version. [1] - eventlet/eventlet#401 Change-Id: I3882202ed16f90ba508bfab4040ac3e62cf221c4
I still see this problem with eventlet==0.24.1 and monotonic==1.5 :
|
Still reproducible with eventlet==0.24.1 and monotonic==1.5: https://541a97755748b4fa92b0-120a9aa299e111f1c1833809030ff629.ssl.cf2.rackcdn.com/703258/1/check/bifrost-integration-tinyipa-ubuntu-xenial/5912fee/logs/ironic-inspector.log |
@temoto thanks for looking into this! Which versions of these packages do you use to confirm the bug? I have two CI jobs that differ in the installed packages, but these ones seem to be the same in both. One works, one crashes with the traceback above.. |
I have a suspect: cryptography 2.6.1 on the working run vs 2.8 on the broken one. |
@dtantsur I didn't run code this time, just read posted logs. Probably you are looking for packages providing |
With big no-blame note, you could say this break was provoked not caused by this change Legrandin/pycryptodome@f08e5f9 |
Sounds entirely plausible. |
you can add traceback to see the real reason, I encounter |
The text was updated successfully, but these errors were encountered: