ChuckMac / ADRFinder

Self-Hosted, Open Source, Advanced Dining Reservation Notifications for Disney World
Apache License 2.0
37 stars 11 forks source link

Image on DockerHub #21

Closed tchmnkyz closed 1 year ago

tchmnkyz commented 1 year ago

Error using latest DockerHub Image.

AttributeError: module 'eventlet.green.select' has no attribute 'epoll'

Version chuckmacdev/adrfinder:latest

To Reproduce I use the image in a kubernetes pod so it is basically just load the image.

Expected behavior I would expect it to load the container like version 0.2.9 did.

Outputs

Traceback (most recent call last):
  File "/app/./adrfinder.py", line 9, in <module>
    import eventlet
  File "/usr/local/eventlet/__init__.py", line 17, in <module>
    from eventlet import convenience
  File "/usr/local/eventlet/convenience.py", line 7, in <module>
    from eventlet.green import socket
  File "/usr/local/eventlet/green/socket.py", line 21, in <module>
    from eventlet.support import greendns
  File "/usr/local/eventlet/support/greendns.py", line 79, in <module>
    setattr(dns, pkg, import_patched('dns.' + pkg))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/eventlet/support/greendns.py", line 61, in import_patched
    return patcher.import_patched(module_name, **modules)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/eventlet/patcher.py", line 132, in import_patched
    return inject(
           ^^^^^^^
  File "/usr/local/eventlet/patcher.py", line 109, in inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/dns/asyncquery.py", line 38, in <module>
    from dns.query import (
  File "/usr/local/dns/query.py", line 63, in <module>
    import httpcore
  File "/usr/local/httpcore/__init__.py", line 1, in <module>
    from ._api import request, stream
  File "/usr/local/httpcore/_api.py", line 5, in <module>
    from ._sync.connection_pool import ConnectionPool
  File "/usr/local/httpcore/_sync/__init__.py", line 1, in <module>
    from .connection import HTTPConnection
  File "/usr/local/httpcore/_sync/connection.py", line 12, in <module>
    from .._synchronization import Lock
  File "/usr/local/httpcore/_synchronization.py", line 13, in <module>
           ^^^^^^^
  File "/usr/local/eventlet/patcher.py", line 109, in inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/dns/asyncquery.py", line 38, in <module>
    from dns.query import (
  File "/usr/local/dns/query.py", line 63, in <module>
    import httpcore
  File "/usr/local/httpcore/__init__.py", line 1, in <module>
    from ._api import request, stream
  File "/usr/local/httpcore/_api.py", line 5, in <module>
    from ._sync.connection_pool import ConnectionPool
  File "/usr/local/httpcore/_sync/__init__.py", line 1, in <module>
    from .connection import HTTPConnection
  File "/usr/local/httpcore/_sync/connection.py", line 12, in <module>
    from .._synchronization import Lock
  File "/usr/local/httpcore/_synchronization.py", line 13, in <module>
    import trio
  File "/usr/local/trio/__init__.py", line 19, in <module>
    from ._core import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED  # isort: skip
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/trio/_core/__init__.py", line 21, in <module>
    from ._local import RunVar
  File "/usr/local/trio/_core/_local.py", line 5, in <module>
    from . import _run
  File "/usr/local/trio/_core/_run.py", line 2543, in <module>
    from ._io_epoll import EpollIOManager as TheIOManager
  File "/usr/local/trio/_core/_io_epoll.py", line 189, in <module>
    class EpollIOManager:
  File "/usr/local/trio/_core/_io_epoll.py", line 190, in EpollIOManager
    _epoll = attr.ib(factory=select.epoll)
                             ^^^^^^^^^^^^
AttributeError: module 'eventlet.green.select' has no attribute 'epoll'
jjclark529 commented 1 year ago

I'm having the same issue. I performed a pull and update and now I can't launch the ADR and I'm receiving the same error in Docker: AttributeError: module 'eventlet.green.select' has no attribute 'epoll'

I'm also receiving an run errors in Docker. It tells me there's no docker .yml file and has problems starting and stopping.

ChuckMac commented 1 year ago

Something in the auto-build process (for security updates) broke it, not quite sure what yet. In the meantime you can lock to chuckmacdev/adrfinder:0.2.9 which still seems to be working.

jjclark529 commented 1 year ago

Docker container goes into Restarting cycle. Will not stay on. Restarted Docker and computer and it continues to Restart. Ran docker logs and the error code is the same: AttributeError: module 'eventlet.green.select' has no attribute 'epoll'

ChuckMac commented 1 year ago

That looks like it’s probably a conflict within already running instance. Try running docker-compose down

jjclark529 commented 1 year ago

I did. It removes the container. I then run docker-compose up -d, it adds a new container and new docker ID, and it goes back to starting and restarting.

ChuckMac commented 1 year ago

This issue is from upstream eventlet requirement, which then is the upstream dnspython

https://github.com/eventlet/eventlet/issues/805

Looks like version locking those will fix it so testing.

ChuckMac commented 1 year ago

Should be fixed now with 0.2.9.1 / latest

jjclark529 commented 1 year ago

It's working now. Thank you!

tchmnkyz commented 1 year ago

I can confirm this is fixed for my side too! Thanks for getting that worked out!