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
My OpenTTD server crashed when I was joining, and I ran rcon clients on the console. I reloaded it with one of the autosave files, and it crashed again, this is the report from the second crash, but the crash message is the same, the assertion in saveload.cpp
I have attached an autosave from earlier in the game, since the crash.sav was 0 bytes, and also a script that I run that saves password hashes periodically, so I can restore them if the server crashes, when switching versions, or if I have to restart it.
Maybe gdb attaching to the process at the wrong time could cause the crash, but it doesn't call any function in OpenTTD, it only prints data.
Since you're familiar with gdb, could you build a debug binary (./configure --enable-debug) and give the stack trace of all threads when OpenTTD hits that assertion?
I think I have found how to reproduce it:
the map must be big enough that it takes a few seconds to save and compress
start joining a server
- the server will start a thread saving/compressing the game
try to execute a rcon command on the console (the right password is not required!!!) while it's loading before the save thread finishes
- you will be disconnected with a protocol error
reconnect quickly, before that save thread finishes
- the server will crash with the assertion failure in saveload/saveload.cpp:2411
I have also attached a backtrace, they are all quite the same, only varying in how deep into liblzma the thread is.
Zydeco opened the ticket and wrote:
Attachments
Reported version: 1.1.0-beta5
Operating system: All
This issue was imported from FlySpray: https://bugs.openttd.org/task/4497
The text was updated successfully, but these errors were encountered: