Skip to content

getting stackoverflow error on disconnect() #312

@piyush121

Description

@piyush121

On the flask server side I am using this code -

@socketio.on('disconnect', namespace='/rank')
def test_disconnect():
    print('Client disconnected')
    disconnect()

And getting following error when client sends a disconnect -

File "manage.py", line 78, in test_disconnect
    disconnect(silent = True)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/flask_socketio/__init__.py", line 708, in disconnect
    namespace=flask.request.namespace)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/socketio/server.py", line 277, in disconnect
    namespace=namespace))
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/socketio/server.py", line 362, in _send_packet
    self.eio.send(sid, encoded_packet, binary=False)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/engineio/server.py", line 163, in send
    socket.send(packet.Packet(packet.MESSAGE, data=data, binary=binary))
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/engineio/socket.py", line 62, in send
    self.close(wait=False, abort=True)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/engineio/socket.py", line 101, in close
    self.server._trigger_event('disconnect', self.sid, async=False)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/engineio/server.py", line 349, in _trigger_event
    return self.handlers[event](*args)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/socketio/server.py", line 463, in _handle_eio_disconnect
    self._handle_disconnect(sid, '/')
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/socketio/server.py", line 387, in _handle_disconnect
    self._trigger_event('disconnect', n, sid)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/socketio/server.py", line 426, in _trigger_event
    return self.handlers[namespace][event](*args)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/flask_socketio/__init__.py", line 205, in _handler
    with app.request_context(self.server.environ[sid]):
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/flask/app.py", line 1944, in request_context
    return RequestContext(self, environ)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/flask/ctx.py", line 242, in __init__
    self.url_adapter = app.create_url_adapter(self.request)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/flask/app.py", line 1771, in create_url_adapter
    server_name=self.config['SERVER_NAME'])
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/werkzeug/routing.py", line 1327, in bind_to_environ
    query_args=query_args)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/werkzeug/routing.py", line 1241, in bind
    url_scheme, path_info, default_method, query_args)
  File "/home/ubuntu/miniconda3/lib/python3.5/site-packages/werkzeug/routing.py", line 1359, in __init__
    self.server_name = to_unicode(server_name)
RecursionError: maximum recursion depth exceeded

I appreciate your time in seeing this issue :)

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions