View Issue Details

IDProjectCategoryLast Update
0004594Valley 1Crash/ExceptionOct 5, 2011 11:31 am
ReporterArmanant Assigned ToChris_McElligottPark  
Status closedResolutionnot fixable 
Product Version0.516 
Summary0004594: Unable to load a world that was 'zipped' while playing
DescriptionWhile trying to reproduce Issue 0004591 I was taking a lot of backups of my world while the game was running. I was doing this by alt-tabbing out and creating a zip archive of the world while the game was running. This 'backup' doesn't seem to work (all the others so far do).

Probably not a major thing as I was doing 'weird' stuff, but perhaps worthwhile to look into if world files are meant to be such that they can't be corrupted easily by an interrupted save?

Edit : Update - out of ~ 2 dozen 'saves' taken this way, this one and the next consecutive one have this issue. Not a large pool by any means but hey, info is info.
TagsNo tags attached.
Internal WeightFix Before Major Release

Activities

jerith

Oct 5, 2011 8:01 am

reporter   ~0015709

I'd guess this is due to the data being in an inconsistent state (in the middle of a write or something) when it was zipped.

Armanant

Oct 5, 2011 8:44 am

reporter   ~0015712

Aye, I would imagine the same, however it's definitely not ideal. I'd venture a guess that if a world can be corrupted like this, it can happen when the game (or your OS) crashes midsave on your lvl 250, 1000 hour world. And who backs up their saves regularly these days...

I guess the problem is with one massive 'save file' (or folder in this case), one corruption can ruin a massive game for a normal player, while a corruption in most other games just means you need to go to the autosave 5 minutes earlier :-/

jerith

Oct 5, 2011 8:52 am

reporter   ~0015714

Solving this kind of thing is really hard, and requires a complicated transactional or journalled data store. I don't really know the details of the data formats being used here, but I'd be surprised if it were easy to add. Given that we haven't seen world broken by crashes (well, I think there was one reported, but that turned out to be an OS issue) I'm not really that concerned as a player.

While it would be nice to have this kind of robustness eventually, I think the game is allowed to break your world if the OS goes horribly wrong or your disk crashes or something. At that point, you almost certainly have bigger problems anyway. For now, I think "don't back your game up while it's running" is reasonable here.

Chris_McElligottPark

Oct 5, 2011 11:01 am

administrator   ~0015761

In general, I would expect 100% of your backups taken while the game was saved to be minorly corrupt in some fashion. The game does not save all in one fell swoop unless you hit the Escape key to have it save the entire world, so little bits and pieces are usually outstanding in the game queue and still waiting to be written.

If you want to make a backup while the game is running, I suggest hitting escape, then hitting P to pause the game, then doing the backup. That would guarantee that everything is actually on disk and you aren't missing some stuff that hasn't hit disk yet.

Chris_McElligottPark

Oct 5, 2011 11:24 am

administrator   ~0015763

Just in, though:

* Put in some robustness additions that allows for certain kinds of corrupt savegames to be loaded, losing only the chunk the player had been in and whatever was in that chunk, but returning them to the world map.
** These are savegames where that chunk was already corrupt for whatever reason (such as having copied the world files to a backup before the game had saved all the data about the chunk to the disk), and previously those would make the entire world file unreadable, but now it's not remotely such a blocker.

jerith

Oct 5, 2011 11:31 am

reporter   ~0015764

Nicely done, sir.

Issue History

Date Modified Username Field Change
Oct 5, 2011 6:00 am Armanant New Issue
Oct 5, 2011 6:00 am Armanant File Added: Failing to Load.zip
Oct 5, 2011 6:04 am Armanant Description Updated
Oct 5, 2011 6:04 am Armanant Description Updated
Oct 5, 2011 7:43 am tigersfan Internal Weight => Fix Before Major Release
Oct 5, 2011 7:43 am tigersfan Assigned To => Chris_McElligottPark
Oct 5, 2011 7:43 am tigersfan Status new => assigned
Oct 5, 2011 8:01 am jerith Note Added: 0015709
Oct 5, 2011 8:44 am Armanant Note Added: 0015712
Oct 5, 2011 8:52 am jerith Note Added: 0015714
Oct 5, 2011 11:01 am Chris_McElligottPark Note Added: 0015761
Oct 5, 2011 11:01 am Chris_McElligottPark Status assigned => closed
Oct 5, 2011 11:01 am Chris_McElligottPark Resolution open => not fixable
Oct 5, 2011 11:24 am Chris_McElligottPark Note Added: 0015763
Oct 5, 2011 11:31 am jerith Note Added: 0015764
Apr 14, 2014 9:28 am Chris_McElligottPark Category Bug - Crash or Exception => Crash/Exception