Skip to content
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

[3.2.1][Regression]AttributeError in server.create_queue #88

Closed
NateScarlet opened this issue Jan 10, 2019 · 1 comment
Closed

[3.2.1][Regression]AttributeError in server.create_queue #88

NateScarlet opened this issue Jan 10, 2019 · 1 comment
Assignees
Labels

Comments

@NateScarlet
Copy link

Env

docker image base on: python:3.6
server: gunicorn
worker class: geventwebsocket.gunicorn.workers.GeventWebSocketWorker
message queue: rabbitmq

requirements.txt:

-i https://pypi.org/simple
amqp==2.3.2
aniso8601==4.1.0
billiard==3.5.0.5
blinker==1.4
celery==4.2.1
certifi==2018.11.29
cffi==1.11.5 ; sys_platform == 'win32' and platform_python_implementation == 'CPython'
click==7.0
environs==4.1.0
fire==0.1.3
flask-restful==0.3.7
flask-socketio==3.1.2
flask==1.0.2
gevent==1.4.0
git+https://github.com/WuLiFang/cgtwq@321756a74d0dd0c3dd9cef078452a17ef9556016#egg=cgtwq
git+https://github.com/WuLiFang/wlf@9a70cdde520f4d4e25c810e2cdacec1263f953b9#egg=wlf
greenlet==0.4.15 ; platform_python_implementation == 'CPython'
itsdangerous==1.1.0
jinja2==2.10
kombu==4.2.2.post1
markupsafe==1.1.0
marshmallow==2.17.0
psycopg2==2.7.6.1
pycparser==2.19
python-dotenv==0.10.1
python-engineio==3.2.1
python-socketio==3.1.1
pytz==2018.9
sentry-sdk[flask]==0.6.6
six==1.12.0
sqlalchemy==1.2.15
urllib3==1.24.1
vine==1.2.0
werkzeug==0.14.1

Log

socketio_1  | 2019-01-10T05:34:01Z {'REMOTE_ADDR': '172.18.0.7', 'REMOTE_PORT': '44010', 'HTTP_HOST': 'socketio', (hidden keys: 31)} failed with AttributeError
socketio_1  |
socketio_1  | Traceback (most recent call last):
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/gevent/pywsgi.py", line 976, in handle_one_response
socketio_1  |     self.run_application()
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/geventwebsocket/handler.py", line 87, in run_application
socketio_1  |     return super(WebSocketHandler, self).run_application()
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/gevent/pywsgi.py", line 923, in run_application
socketio_1  |     self.result = self.application(self.environ, self.start_response)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/sentry_sdk/integrations/flask.py", line 53, in sentry_patched_wsgi_app
socketio_1  |     environ, start_response
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/sentry_sdk/integrations/wsgi.py", line 71, in __call__
socketio_1  |     reraise(*_capture_exception(hub))
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/sentry_sdk/_compat.py", line 44, in reraise
socketio_1  |     raise value
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/sentry_sdk/integrations/wsgi.py", line 69, in __call__
socketio_1  |     rv = self.app(environ, start_response)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/sentry_sdk/integrations/flask.py", line 52, in <lambda>
socketio_1  |     return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
socketio_1  |     return self.wsgi_app(environ, start_response)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/flask_socketio/__init__.py", line 43, in __call__
socketio_1  |     start_response)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/engineio/middleware.py", line 59, in __call__
socketio_1  |     return self.engineio_app.handle_request(environ, start_response)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/socketio/server.py", line 428, in handle_request
socketio_1  |     return self.eio.handle_request(environ, start_response)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/engineio/server.py", line 333, in handle_request
socketio_1  |     transport, b64)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/engineio/server.py", line 454, in _handle_connect
socketio_1  |     s = socket.Socket(self, sid)
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/engineio/socket.py", line 17, in __init__
socketio_1  |     self.queue = self.server.create_queue()
socketio_1  |   File "/usr/local/lib/python3.6/site-packages/engineio/server.py", line 430, in create_queue
socketio_1  |     sys.modules[queue.__class__.__module__], 'Empty')
socketio_1  | AttributeError: 'gevent._queue.JoinableQueue' object has no attribute 'Empty'

Misc

sys.modules[queue.__class__.__module__], 'Empty')

Downgrade to 3.2.0 solve this problem

@miguelgrinberg
Copy link
Owner

Fixed. Please upgrade python-engineio to 3.2.2. Sorry for the mistake.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants