You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We got a websocket server . We run the server using the run_async method and it all works fine.
Occasionally, the client closes the connection (and is likely not doing it in a friendly way) , our server crashes with following message:
[Error ]: Worker Crash: An uncaught exception occured: remote endpoint: Transport endpoint is not connected
I can see from the code that Crow does handle such exception by just logging them and then continue , so why is it crashing al of a sudden.
I have discovered a few things. Firstly, it seems the problem can be reproduced by having the client disabling the wifi and enabling it again. This causes an uncleanly disconnection. What I am not sure about is why Crow's onclose function only is triggered when the client wifi is enabled - why cant crow detect the client is offline?
But that is not the real problem, the problem is the call conn.get_remote_ip()... That seems to behave very strangely on such scenarios. It throws and then segfaults. Not sure why your catch statements are not catching this.
The text was updated successfully, but these errors were encountered:
I have encountered the same behavior with onerror websocket handler which was called right after onclose.
Probably crow::websocket::connection object is not valid at that point...
We got a websocket server . We run the server using the run_async method and it all works fine.
Occasionally, the client closes the connection (and is likely not doing it in a friendly way) , our server crashes with following message:
[Error ]: Worker Crash: An uncaught exception occured: remote endpoint: Transport endpoint is not connected
I can see from the code that Crow does handle such exception by just logging them and then continue , so why is it crashing al of a sudden.
I have discovered a few things. Firstly, it seems the problem can be reproduced by having the client disabling the wifi and enabling it again. This causes an uncleanly disconnection. What I am not sure about is why Crow's onclose function only is triggered when the client wifi is enabled - why cant crow detect the client is offline?
But that is not the real problem, the problem is the call conn.get_remote_ip()... That seems to behave very strangely on such scenarios. It throws and then segfaults. Not sure why your catch statements are not catching this.
The text was updated successfully, but these errors were encountered: