View Issue Details

IDProjectCategoryLast Update
0024708AI War 2[All Projects] Crash/ExceptionApr 20, 2021 10:30 am
ReporterptarthAssigned Tox4000Bughunter 
Status closedResolutionnot fixable 
Product Version2.803 Multiplayer Option Overload 
Fixed in Version2.805 Relentless On Several Levels 
Summary0024708: Save game fails to load
DescriptionMy save games from yesterday all ended up corrupted. Attached is the log and save games.

(ticket failed to generate, recreating)
TagsNo tags attached.



Apr 18, 2021 4:45 pm

reporter (1,390,491 bytes)
ArcenDebugLog.txt (691,720 bytes)


Apr 19, 2021 4:36 pm

administrator   ~0061150

Okay, this is the first thing I saw:

* Put in some new cross-threading protections for when entity order collections are altered in any way.
** Rather than using a concurrent queue or something of that nature, we are using an old fashioned style of thread lock on the lists in question.
** There is the very rare risk that this could cause a deadlock, but most likely this would be detected and it will kill the background thread. In the event that happens, we can adjust further. It's also possible that this was the cause of the freezing up that Strategic Sage saw over the weekend, although we're probably not that lucky.


Apr 20, 2021 10:30 am

administrator   ~0061153

In the words of Marv: "wow, what a hole." ;)

* The game now supports putting "canaries" into serialized savegames as well as on the network.
** This is useful for quickly detecting when there is savegame corruption of some sort, which could be caused by a mistake on our part, or a bug in a mod that contains savegame-style data.
*** Because of the utility with mods, which are ever-changing, this is something we're puttting in in a minimally-invasive fashion so that we can leave this in indefinitely rather than just having it when we know we have some sort of problem in our own code.

* There is some sort of ultra-rare serialization problem with entities that breaks certain savegames. This must be something that has a very strong temporal component, or is using a feature that very few ships use, or something of that nature.
** Right now we are unable to identify where it is, although we know it is not mod-related. The new canaries are an attempt to locate this, given the rarity of the item in question.
** We wish that we were able to to solve this directly in one go, but essentially we need a version of this where it is broken after saving with the canaries present in order for us to find it. We've tried reverse engineering it from existing broken saves, but did not find anything conclusive despite a few promising leads.

So, essentially there is one save in there that you can load out of the ones you sent, but I can't get that one to corrupt like the others, and the others I can't untangle where they went wrong. I can see places where they are wrong, but I chased all through the code and could not find the source. I wound up putting in these canaries, and if this issue recurs for you (it should happen for you or someone), then let's open a new issue and hopefully I'll be able to solve that one. For now, this one has hit kind of roadblock, but I've put in the new code that can at least let us nail it next time, knock on wood.

Issue History

Date Modified Username Field Change
Apr 18, 2021 4:45 pm ptarth New Issue
Apr 18, 2021 4:45 pm ptarth File Added:
Apr 18, 2021 4:45 pm ptarth File Added: ArcenDebugLog.txt
Apr 19, 2021 4:36 pm x4000Bughunter Note Added: 0061150
Apr 20, 2021 10:30 am x4000Bughunter Assigned To => x4000Bughunter
Apr 20, 2021 10:30 am x4000Bughunter Status new => closed
Apr 20, 2021 10:30 am x4000Bughunter Resolution open => not fixable
Apr 20, 2021 10:30 am x4000Bughunter Fixed in Version => 2.805 Relentless On Several Levels
Apr 20, 2021 10:30 am x4000Bughunter Note Added: 0061153