-
-
Notifications
You must be signed in to change notification settings - Fork 894
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
Stack overflow (max recursion depth) on client timeout #329
Comments
Yes, I see the problem. I need to think about this, because there are some use cases in which it is required that the disconnected client is still available during the disconnect handler (for example, to check what rooms that client was in). |
Easiest solution that comes to my mind is introducing a |
@roba91 I was thinking more in splitting the |
I'll +1 to the issue, just stumbled upon this problem myself. I'm using socketio and flask to write home assisting AI. And this errors always happens if someone connects from the mobile phone over the unstable network connection, or if the phone's browser is in the background. So I'd say it reliably brings the server down. I hope this will be resolved soon ;) |
I think this is fixed in release 1.1.0 of package python-engineio. Please let me know if this is still a problem. |
Indeed this seems to be fixed. Thanks for your great work! Keep it up =) |
My server looks something like this
Now when a client times out and ws_user_count_update is called (e.g. by an ordinary disconnecting client) before the server notices the timeout an infinite recursion is started. Easiest way to archive this is by stopping the server somewhere in ws_disconnect for a while.
I assume that the issue lies within
engineio/socket.py:Socket.close
whereis called before flagging the socket as closed.
The text was updated successfully, but these errors were encountered: