MYSQL wrapper crash opportunity
MYSQL wrapper crashes when the client disconnects then reconnects within a very short period of time say 2-3 seconds.
This crash opportunity has only happened once in several months of testing.
On investigation of the client and server logs this is due to the onPlayerDisconnected eventhandler script not completing it's running MYSQL tasks before the client reconnects and invokes the onPlayerConnected eventhandler script's MYSQL tasks. The clients pipe is not available.
Updated by Jman almost 4 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
On further investigation this issue is related to http://dev-heaven.net/issues/25281
Workaround implemented. Will reopen if issue reoccurs.
Updated by firefly2442 over 3 years ago
Did you code a workaround to check for this? Is it just that on the Arma scripting side it doesn't know how to handle null return values from MySQL?
Updated by Jman over 3 years ago
It's instigated on the serverside when the player's onPlayerDisconnected script is triggered, launching a MYSQL call and then the player's onPlayerConnected script is still waiting for it's MYSQL result. As I say this crash opportunity is very rare and only happens if the player disconnects whilst the player's onPlayerConnected event has not yet returned. As to why the wrapper actually crashes I've no idea and to repo this is very hard to do since the onPlayerConnected and onPlayerDisconnected eventhandler MYSQL calls normally return a MYSQL result within one second. If it's a generic error caused by a null return value and the wrapper crash can be caught then that would be ideal. If I can repo this again I'll post the wrapper crash output.