Fractal Softworks Forum
Starsector => Bug Reports & Support => Bug Reports & Support (modded) => Topic started by: matveich on June 18, 2017, 01:19:44 AM
-
There is already a number of topics reporting freezes/crashes on save of modded game. I have managed to produce a save, where this problem is reproducible. The save and mods can be found here: https://drive.google.com/file/d/0BzaLdTtFg_piVU9TQTdMLVVpeW8
To reproduce the issue:
1) Attack the Teresa Terror fleet.
2) Fleet battle size 500. Deploy all combat ships, except Desdinova.
3) Destroy all enemy ships except the custom cruiser Gulf-class Fang.
4) Once the cruiser is the only ship left retreat.
5) Disengage and save the game. The game should freeze on saving backup file.
I am using -Xms8g -Xmx8g.
Also, unrelated question: why starsector.exe is not working(windows 10)? If I double click it, nothing happens and the only way to launch the game is via bat file.
-
I made a custom version of xstream to add some debug info. Apparently it's dying on the IBB fleet's memory.
-
I think I found what was causing it. Apparently, referencing a FleetMemberAPI via memory is Very Bad, so certain IBBs can cause this.
A workaround for now is to save copy. The real fix, unfortunately, will come later and break saves.
P.S. You don't want to know what I had to go through to find this.
-
Oh, jeez, I think I can imagine what you went through there. Xstream can get real temperamental if things are saved in a certain order - generally reference loops are fine, but sometimes it'll just freak out. It hanging is a new one for me, though - have only seen it crash out in that case, so far.
Did you recompile the xstream jar or did some fancy configuring via custom converters etc? Either way, that's a really good idea, makes the black box a good deal less black boxy.
-
I recompiled, and yes it did crash out (throw an exception). The hang was due to the Starsector loading logic; that part's on you.
I assume saving a Fleet/Entity in memory is safe, because there's a specific "getFleet()" and "getEntity()" method in MemoryAPI. Or would that cause issues?
-
Ahh, right, right - I think I fixed the "freeze" part up a few days ago.
(Would you mind emailing me the jar, if you get a chance? That could come in quite handy.)
-
Sure; sent it.