FS#3714 - Crash on loading corrupted savegame

Attached to Project: OpenTTD
Opened by Ravis (king_zog) - Sunday, 21 March 2010, 23:01 GMT
Last edited by Remko Bijker (Rubidium) - Thursday, 16 September 2010, 22:06 GMT
Type Bug
Category Core
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Low
Reported Version 1.0.0-RC3
Due in Version 1.1.0
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Using Windows XP. Upon loading savegame 'NOT_REACHED triggered at line 719 of ..\src\saveload\vehicle_sl.cpp' error displayed.
This task depends upon

Closed by  Remko Bijker (Rubidium)
Thursday, 16 September 2010, 22:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  In r20819
Comment by Remko Bijker (Rubidium) - Monday, 22 March 2010, 19:37 GMT
  • Field changed: Status (New → Confirmed)
  • Field changed: Due in Version (Undecided → 1.1.0)
  • Field changed: Severity (High → Low)
OpenTTD crashes on that savegame because it is corrupt.

The decompressor sends invalid data before it figures out that it is decompressing something corrupt, so OpenTTD tries to interpret something incorrect and it bails out. If I let the decompressor read a little the decompressor tells that the file is corrupted.

This means that the corruption most likely has occured on the file itself and not by OpenTTD saving it.

I have to agree that OpenTTD should handle this case more gracefully, but that requires a relatively big rework of the code for loading savegames. As it only happens on already corrupted savegames it's not that severe to rush a fix.