Your message dated Thu, 2 May 2024 10:06:29 +0200
with message-id <[email protected]>
and subject line Likely fixed
has caused the Debian Bug report #1042466,
regarding AttributeError: module 'eventlet.green.select' has no attribute 
'epoll'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1042466: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1042466
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: python3-eventlet
Version: 0.33.1-4
Severity: important
Tags: upstream
Forwarded: https://github.com/eventlet/eventlet/issues/805
X-Debbugs-Cc: [email protected]
Control: affects -1 cura

Dear Maintainer,

The eventlet module has a known incompatibility with dnspython 0.24, that
causes it to throw exceptions of the form: AttributeError: module
'eventlet.green.select' has no attribute 'epoll'

One example is cura 5.0.0, which won't start start any more due to this bug
(full report further below):

/usr/lib/python3/dist-packages/eventlet/support/greenlets.py:6:
DeprecationWarning: distutils Version classes are deprecated. Use
packaging.version instead.
  preserves_excinfo = (distutils.version.LooseVersion(greenlet.__version__)
...
  File "/usr/bin/cura", line 30, in <module>
    import sentry_sdk
...
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 190, in
EpollIOManager
    _epoll = attr.ib(factory=select.epoll)
                             ^^^^^^^^^^^^
AttributeError: module 'eventlet.green.select' has no attribute 'epoll'

Please provide a fix for this issue as soon as one is available from upstream,
or pin to dnspython to 0.23 until this is fixed (which would break on
sid/trixie, because dnspython 0.23 isn't available there).

Thanks.


Full output from cura:

/usr/lib/python3/dist-packages/UM/PluginRegistry.py:4: DeprecationWarning: the
imp module is deprecated in favour of importlib and slated for removal in
Python 3.12; see the module's documentation for alternative uses
  import imp
/usr/lib/python3/dist-packages/eventlet/support/greenlets.py:6:
DeprecationWarning: distutils Version classes are deprecated. Use
packaging.version instead.
  preserves_excinfo = (distutils.version.LooseVersion(greenlet.__version__)
Traceback (most recent call last):
  File "/usr/bin/cura", line 30, in <module>
    import sentry_sdk
  File "/usr/lib/python3/dist-packages/sentry_sdk/__init__.py", line 1, in
<module>
    from sentry_sdk.hub import Hub, init
  File "/usr/lib/python3/dist-packages/sentry_sdk/hub.py", line 8, in <module>
    from sentry_sdk.scope import Scope
  File "/usr/lib/python3/dist-packages/sentry_sdk/scope.py", line 7, in
<module>
    from sentry_sdk.utils import logger, capture_internal_exceptions
  File "/usr/lib/python3/dist-packages/sentry_sdk/utils.py", line 925, in
<module>
    HAS_REAL_CONTEXTVARS, ContextVar = _get_contextvars()
                                       ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sentry_sdk/utils.py", line 895, in
_get_contextvars
    if not _is_contextvars_broken():
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sentry_sdk/utils.py", line 856, in
_is_contextvars_broken
    from eventlet.patcher import is_monkey_patched  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/__init__.py", line 17, in
<module>
    from eventlet import convenience
  File "/usr/lib/python3/dist-packages/eventlet/convenience.py", line 7, in
<module>
    from eventlet.green import socket
  File "/usr/lib/python3/dist-packages/eventlet/green/socket.py", line 21, in
<module>
    from eventlet.support import greendns
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 79,
in <module>
    setattr(dns, pkg, import_patched('dns.' + pkg))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 61,
in import_patched
    return patcher.import_patched(module_name, **modules)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 132, in
import_patched
    return inject(
           ^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 109, in
inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/asyncquery.py", line 38, in <module>
    from dns.query import (
  File "/usr/lib/python3/dist-packages/dns/query.py", line 63, in <module>
    import httpcore
  File "/usr/lib/python3/dist-packages/httpcore/__init__.py", line 1, in
<module>
    from ._api import request, stream
  File "/usr/lib/python3/dist-packages/httpcore/_api.py", line 5, in <module>
    from ._sync.connection_pool import ConnectionPool
  File "/usr/lib/python3/dist-packages/httpcore/_sync/__init__.py", line 1, in
<module>
    from .connection import HTTPConnection
  File "/usr/lib/python3/dist-packages/httpcore/_sync/connection.py", line 12,
in <module>
    from .._synchronization import Lock
  File "/usr/lib/python3/dist-packages/httpcore/_synchronization.py", line 13,
in <module>
    import trio
  File "/usr/lib/python3/dist-packages/trio/__init__.py", line 19, in <module>
    from ._core import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED  # isort:
skip
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/trio/_core/__init__.py", line 21, in
<module>
    from ._local import RunVar
  File "/usr/lib/python3/dist-packages/trio/_core/_local.py", line 5, in
<module>
    from . import _run
  File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2543, in
<module>
    from ._io_epoll import EpollIOManager as TheIOManager
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 189, in
<module>
    class EpollIOManager:
  File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 190, in
EpollIOManager
    _epoll = attr.ib(factory=select.epoll)
                             ^^^^^^^^^^^^
AttributeError: module 'eventlet.green.select' has no attribute 'epoll'


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (300, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.3.0-2-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-eventlet depends on:
ii  netbase            6.4
ii  python3            3.11.4-5
ii  python3-dnspython  2.4.0-1
ii  python3-greenlet   2.0.2-1
ii  python3-monotonic  1.6-2
ii  python3-six        1.16.0-4

python3-eventlet recommends no packages.

Versions of packages python3-eventlet suggests:
pn  python-eventlet-doc  <none>

-- no debconf information

--- End Message ---
--- Begin Message ---
Hi,

I tried, in Sid, doing "import sendtry_sdk" and it worked without any problem. So it's likely this was fixed in Eventlet 0.35.1.

Cheers,

Thomas Goirand (zigo)

--- End Message ---

Reply via email to