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
Trying to reproduce bug # 4497, I found that the server will sometimes crash if a client disconnects just after sending the PACKET_CLIENT_GETMAP packet, although where the crash occurs is different on different OSes.
I've been tracking it a bit under Mac OS X, and it seems to happen when the send() under this->SendPackets() in network_sever.cpp:575 gets a broken pipe error, so it closes the connection and in the ServerNetworkGameSocketHandler destructor, it tries to lock the savegame_mutex that is already locked by the same thread, so it gets a EDEADLK error.
On linux it crashes on a different place, but it is caused in the same way.
To cause the crash I used a ruby script that sends the appropriate packets and disconnects after GETMAP, I'm attaching it too.
I have tried it with the 1.0.5 release (sending the right newgrf revision), but it doesn't crash there, it only crashes on 1.1 (I've tried b5 and r22064)
Zydeco opened the ticket and wrote:
Attachments
Reported version: trunk
Operating system: All
This issue was imported from FlySpray: https://bugs.openttd.org/task/4503
The text was updated successfully, but these errors were encountered: