Defect preview.png in savefile closes game on preview
Posted: Wed Aug 17, 2016 9:31 pm
I run Factorio on two setups, one is a FreeBSD computer with wine and steam, the other uses Archlinux with native Steam and factorio. I use the steam cloud sharing to synchronize the savegames between both computers. Whenever I attempt to access the loading menu in Linux (as in where you can see all the savegames), the game crashes with the following output:
The rest of the logfile looks fine. The same thing happens whenever I try to save manually (basically everywhere where you can see the previews of your saves).
This happens with all the savegames (it crashes on the first one, removing it makes it happen with the next one). I can play, load and save fine on both computers, I just can't seem to access my FreeBSD saves on the other one. This has been happening with at least 0.13.14 (I did not test earlier, but I assume it happened with earlier versions as well) and still happens with 0.13.16. This happens even with all mods disabled (though the savegames make heavy use of mods).
I can unzip the faulty savegame manually, the preview.png is 0 Bytes in size in all savegames (that is the savegames originating on FreeBSD when accessing them on Linux). I assume that this is where the error stems from. This means you should be able to reproduce the problem by removing a preview.png and then simply touching it, then attempt to load the save. Replacing all faulty preview.png files with previews taken from other saves (generated on Linux) allows me to open the menu and load savegames. However this is a work around at best.
Since factorio zips the savegames, I doubt that the steam cloud swallows the previews. The previews definitively exist on FreeBSD (I see them when opening the loading menu), although I can currently not determinate if they are also present in the zip files themselves.
I do not know if this is because I'm sharing the savegames between the Linux and the Windows version of factorio or because FreeBSD/Wine does something wrong. Either way it points to some sort of bug. Additionally, it would be cool if factorio would default to a fallback preview if a preview isn't available instead of just crashing.
Code: Select all
[...]
30.692 Factorio initialised
30.692 Game is running on selected version branch on Steam.
35.119 Error Util.cpp:57: Sprite "/<path to savegame>/preview.png" couldn't be loaded
35.278 Steam API shutdown.
35.281 Goodbye
This happens with all the savegames (it crashes on the first one, removing it makes it happen with the next one). I can play, load and save fine on both computers, I just can't seem to access my FreeBSD saves on the other one. This has been happening with at least 0.13.14 (I did not test earlier, but I assume it happened with earlier versions as well) and still happens with 0.13.16. This happens even with all mods disabled (though the savegames make heavy use of mods).
I can unzip the faulty savegame manually, the preview.png is 0 Bytes in size in all savegames (that is the savegames originating on FreeBSD when accessing them on Linux). I assume that this is where the error stems from. This means you should be able to reproduce the problem by removing a preview.png and then simply touching it, then attempt to load the save. Replacing all faulty preview.png files with previews taken from other saves (generated on Linux) allows me to open the menu and load savegames. However this is a work around at best.
Since factorio zips the savegames, I doubt that the steam cloud swallows the previews. The previews definitively exist on FreeBSD (I see them when opening the loading menu), although I can currently not determinate if they are also present in the zip files themselves.
I do not know if this is because I'm sharing the savegames between the Linux and the Windows version of factorio or because FreeBSD/Wine does something wrong. Either way it points to some sort of bug. Additionally, it would be cool if factorio would default to a fallback preview if a preview isn't available instead of just crashing.