Save corrupted?

I was playing on experimental build 5900 today, then updated to 5917, the latest as of this post, and in-game, I changed dynamic NPC spawn from false to true. Saved and quit the game and now I can’t load it due to a game-stopping error about a vehicle fault entry (there’s one about a duplicate bionic ID as well, but that one seems skippable). The only mods I’m using are fairly light and included in the game: simple nutrition and no NPC needs. Chesthole soundpack and RetroDays 20px tileset.

It doesn’t make much sense and I’m not sure how the NPC spawn setting (allegedly not requiring a world reset) had anything to do with it. When I changed it, I did absolutely nothing on that “sitting” besides that. Tried tweaking the world settings to get the spawn option back to false, but it hasn’t helped.

Here’s the savegame in case someone can shed some light on the issue and hopefully restore its functionality:

PS: Well, can’t even create a new character. I get the drive fault error before that screen. Maybe it’s my installation that’s corrupted. Is the CDDA Launcher buggy?

EDIT: No, it’s the world that won’t load. Damn it. Any help would be appreciated.

I’ve been able to load games since this update but they’ve been crashing shortly thereafter. Haven’t been able to see the error because I can’t get out of full screen without closing the game entirely or sometimes doing a full reboot. Doesn’t matter if I’m using the launcher or the exe. The vehicle error might suggest it’s update 5916 causing the problem. For now I guess rollback to an earlier update.

Edit: My crash may have a different cause since I run through Wine but it did begin at the same time and was running well until the recent batch of updates. I started in windowed mode so I could look at the error message generated and got this:

Unhandled exception: page fault on read access to 0x0000000c in 32-bit code (0xf73ba2e6). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:f73ba2e6 ESP:01c7e914 EBP:01c7ea58 EFLAGS:00210287( R- -- I S - -P-C) EAX:00000000 EBX:7ea1a000 ECX:00000004 EDX:00000073 ESI:00000000 EDI:00000004 Stack dump: 0x01c7e914: 00e20a4d 00000000 7e9df774 00000004 0x01c7e924: 00000003 f7361325 7e9dee3a 01c7ebec 0x01c7e934: 00000018 01c7e968 7e9a9940 00000420 0x01c7e944: 7b462156 7e9f5156 00000000 7e9f51a8 0x01c7e954: 00240150 01c7ea8c 00000000 7e9de310 0x01c7e964: 00000000 01c7e9d4 ffffffff 00000000 Backtrace: =>0 0xf73ba2e6 in (+0x7e2e6) (0x01c7ea58) 1 0x7e9df774 in msvcrt (+0x5f773) (0x01c7ea58) 2 0x7e9e82b1 MSVCRT_vsnprintf+0x60() in msvcrt (0x01c7eab8) 3 0x009e662e in cataclysm-tiles (+0x5e662d) (0x01c7eb68) 4 0x0087add7 in cataclysm-tiles (+0x47add6) (0x01c7eb88) 5 0x005dc600 in cataclysm-tiles (+0x1dc5ff) (0x01c7ebf8) 6 0x005dc52f in cataclysm-tiles (+0x1dc52e) (0x01c7ec18) 7 0x005dcfa9 in cataclysm-tiles (+0x1dcfa8) (0x01c7ec88) 8 0x005dd0c3 in cataclysm-tiles (+0x1dd0c2) (0x01c7ecf8) 9 0x005ddab0 in cataclysm-tiles (+0x1ddaaf) (0x01c7ed28) 10 0x005ddb8b in cataclysm-tiles (+0x1ddb8a) (0x01c7eda8) 11 0x005e25ee in cataclysm-tiles (+0x1e25ed) (0x01c7edf8) 12 0x005e39f2 in cataclysm-tiles (+0x1e39f1) (0x01c7ee98) 13 0x005e450c in cataclysm-tiles (+0x1e450b) (0x01c7ef28) 14 0x005a66ae in cataclysm-tiles (+0x1a66ad) (0x01c7f0f8) 15 0x005a68b5 in cataclysm-tiles (+0x1a68b4) (0x01c7f188) 16 0x0059bd6d in cataclysm-tiles (+0x19bd6c) (0x01c7f228) 17 0x005a13fb in cataclysm-tiles (+0x1a13fa) (0x01c7f908) 18 0x005a4aae in cataclysm-tiles (+0x1a4aad) (0x01c7f9d8) 19 0x00d80c67 in cataclysm-tiles (+0x980c66) (0x01c7fd68) 20 0x004013de in cataclysm-tiles (+0x13dd) (0x01c7fe40) 21 0x7b4604dc call_process_entry+0xb() in kernel32 (0x01c7fe58) 22 0x7b46150a in kernel32 (+0x51509) (0x01c7fe88) 23 0x7bc8053c call_thread_func_wrapper+0xb() in ntdll (0x01c7fea8) 24 0x7bc8350d call_thread_func+0xfc() in ntdll (0x01c7ffa8) 25 0x7bc8051a RtlRaiseException+0x21() in ntdll (0x01c7ffc8) 26 0x7bc52887 call_dll_entry_point+0x3d6() in ntdll (0x01c7ffe8) 27 0xf753bb7d wine_call_on_stack+0x1c() in (0x00000000) 28 0xf753bce0 wine_switch_to_stack+0x1f() in (0xfff1dab8) 29 0x7bc58869 LdrInitializeThunk+0x228() in ntdll (0xfff1daf8) 30 0x7b46762a __wine_kernel_init+0xa69() in kernel32 (0xfff1ec68) 31 0x7bc59743 __wine_process_init+0x152() in ntdll (0xfff1ecd8) 32 0xf7539d37 wine_init+0x2c6() in (0xfff1ed38) 33 0x7c000ac2 main+0x81() in <wine-loader> (0xfff1f188) 34 0xf7354637 __libc_start_main+0xf6() in (0x00000000) 0xf73ba2e6: repe movq 0x0(%edi),%mm1 Modules: Module Address Debug info Name (110 modules) PE 400000- 10ff000 Export cataclysm-tiles ELF 7b400000-7b7e1000 Dwarf kernel32<elf> \-PE 7b410000-7b7e1000 \ kernel32 ELF 7bc00000-7bcf6000 Dwarf ntdll<elf> \-PE 7bc10000-7bcf6000 \ ntdll ELF 7c000000-7c004000 Dwarf <wine-loader> ELF 7d0c7000-7d1dd000 Deferred ELF 7d306000-7d31c000 Deferred midimap<elf> \-PE 7d310000-7d31c000 \ midimap ELF 7d31c000-7d34d000 Deferred winealsa<elf> \-PE 7d320000-7d34d000 \ winealsa ELF 7d44d000-7d479000 Deferred ELF 7d479000-7d48f000 Deferred ELF 7d48f000-7d504000 Deferred ELF 7d504000-7d51d000 Deferred ELF 7d51d000-7d5a9000 Deferred ELF 7d5a9000-7d609000 Deferred ELF 7d609000-7d626000 Deferred ELF 7d626000-7d6d5000 Deferred ELF 7d6d5000-7d6fb000 Deferred ELF 7d6fb000-7d721000 Deferred ELF 7d721000-7d79a000 Deferred ELF 7d79a000-7d828000 Deferred ELF 7d828000-7d882000 Deferred ELF 7d882000-7d90a000 Deferred ELF 7d90a000-7d964000 Deferred ELF 7dae0000-7dae9000 Deferred ELF 7dae9000-7daf2000 Deferred ELF 7daf2000-7daf9000 Deferred ELF 7daf9000-7db05000 Deferred ELF 7db08000-7db21000 Deferred msacm32<elf> \-PE 7db10000-7db21000 \ msacm32 ELF 7db28000-7db51000 Deferred winepulse<elf> \-PE 7db30000-7db51000 \ winepulse ELF 7db51000-7db74000 Deferred mmdevapi<elf> \-PE 7db60000-7db74000 \ mmdevapi ELF 7db74000-7dbaa000 Deferred msctf<elf> \-PE 7db80000-7dbaa000 \ msctf ELF 7dbaa000-7dbe1000 Deferred uxtheme<elf> \-PE 7dbb0000-7dbe1000 \ uxtheme ELF 7dbe1000-7dcdc000 Deferred comctl32<elf> \-PE 7dbf0000-7dcdc000 \ comctl32 ELF 7dcdc000-7dd27000 Deferred dinput<elf> \-PE 7dce0000-7dd27000 \ dinput ELF 7dd7f000-7dd89000 Deferred ELF 7dd89000-7dd9e000 Deferred xinput1_3<elf> \-PE 7dd90000-7dd9e000 \ xinput1_3 ELF 7dd9e000-7ddb2000 Deferred xinput1_4<elf> \-PE 7dda0000-7ddb2000 \ xinput1_4 ELF 7ddf8000-7de42000 Deferred dsound<elf> \-PE 7de00000-7de42000 \ dsound ELF 7de42000-7de49000 Deferred ELF 7de49000-7de54000 Deferred ELF 7de54000-7de67000 Deferred ELF 7de67000-7de6b000 Deferred ELF 7de6b000-7de78000 Deferred ELF 7de78000-7de84000 Deferred ELF 7de84000-7de8b000 Deferred ELF 7de8b000-7de8f000 Deferred ELF 7de8f000-7de96000 Deferred ELF 7de96000-7de9a000 Deferred ELF 7de9a000-7dec0000 Deferred ELF 7dec0000-7e00b000 Deferred ELF 7e00b000-7e020000 Deferred ELF 7e025000-7e041000 Deferred dinput8<elf> \-PE 7e030000-7e041000 \ dinput8 ELF 7e043000-7e0d0000 Deferred winex11<elf> \-PE 7e050000-7e0d0000 \ winex11 ELF 7e153000-7e17d000 Deferred ELF 7e17d000-7e1c6000 Deferred ELF 7e1c6000-7e1f1000 Deferred ELF 7e1f1000-7e20c000 Deferred ELF 7e20c000-7e2bc000 Deferred ELF 7e2df000-7e309000 Deferred msacm32<elf> \-PE 7e2e0000-7e309000 \ msacm32 ELF 7e309000-7e3c1000 Deferred winmm<elf> \-PE 7e310000-7e3c1000 \ winmm ELF 7e3c1000-7e438000 Deferred shlwapi<elf> \-PE 7e3d0000-7e438000 \ shlwapi ELF 7e438000-7e678000 Deferred shell32<elf> \-PE 7e450000-7e678000 \ shell32 ELF 7e678000-7e7aa000 Deferred oleaut32<elf> \-PE 7e690000-7e7aa000 \ oleaut32 ELF 7e7aa000-7e82a000 Deferred rpcrt4<elf> \-PE 7e7c0000-7e82a000 \ rpcrt4 ELF 7e82a000-7e963000 Deferred ole32<elf> \-PE 7e840000-7e963000 \ ole32 ELF 7e963000-7ea24000 Dwarf msvcrt<elf> \-PE 7e980000-7ea24000 \ msvcrt ELF 7ea24000-7eb78000 Deferred user32<elf> \-PE 7ea40000-7eb78000 \ user32 ELF 7eb78000-7eb9c000 Deferred imm32<elf> \-PE 7eb80000-7eb9c000 \ imm32 ELF 7eb9c000-7eccc000 Deferred gdi32<elf> \-PE 7ebb0000-7eccc000 \ gdi32 ELF 7eccc000-7ed43000 Deferred advapi32<elf> \-PE 7ece0000-7ed43000 \ advapi32 ELF 7ed43000-7ed56000 Deferred ELF 7ed56000-7ed63000 Deferred ELF 7ed63000-7ed7e000 Deferred ELF 7ed7e000-7ed88000 Deferred ELF 7ef88000-7efdd000 Deferred ELF 7efe6000-7f000000 Deferred version<elf> \-PE 7eff0000-7f000000 \ version ELF f7337000-f733c000 Deferred ELF f733c000-f74f2000 Dwarf ELF f74f3000-f7510000 Deferred ELF f7533000-f76ea000 Dwarf ELF f76ec000-f7711000 Deferred ELF f7713000-f7714000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 0000000e services.exe 00000020 0 0000001f 0 00000014 0 00000010 0 0000000f 0 00000012 winedevice.exe 0000001e 0 00000019 0 00000018 0 00000013 0 0000001c plugplay.exe 00000022 0 00000021 0 0000001d 0 00000023 explorer.exe 00000028 0 00000027 0 00000026 0 00000025 0 00000024 0 00000038 (D) Z:\home\user1\Desktop\cdda\cataclysm-tiles.exe 00000041 0 00000040 2 0000003f 15 0000003e 15 0000003d 0 0000003c 0 0000003b 0 0000003a 0 00000039 0 <== System information: Wine build: wine-1.9.23 Platform: i386 (WOW64) Version: Windows 8 Host system: Linux Host version: 4.4.0-47-generic

I tried rolling back to 5900 and it didn’t help. Let’s see if 5915 does the trick, but maybe the bug’s already ingrained in the savegame.

I shouldn’t update so liberally. :confused:

EDIT: Nope. Seems the world’s still affected. Just FYI, here’s the bionics error that pops up repeatedly before the drive belt one:

That’s not a save, looks like you have a mod that overwrites some core game thing incorrectly.
What mods do you have applied?

[quote=“Coolthulhu, post:4, topic:12973”]That’s not a save, looks like you have a mod that overwrites some core game thing incorrectly.
What mods do you have applied?[/quote]

Just base DDA, Simplified Nutrition and Disable NPC Needs.


Any chance of salvaging this world or somehow roll back the issue within the savegame, if I stick to an earlier build?

I didn’t know people randomly uploaded world-breaking builds without so much as a warning.

You don’t seem to be having the same issue I was but update 5920 reverted update 5917 and I’m no longer crashing. Couldn’t hurt to update to 5920 and see if you’re still having issues.

No dice, unfortunately. 5922 didn’t help.

If 5916 changed the expected vehicle code structure from under my world and now it’s forever incompatible, I’m not sure what I can do. Rolled back as far as 5900 but as I said earlier the issue has probably ingrained itself with the savegame the moment I saved it on 5917.

I suppose my only hope now is to keep waiting for a new build to somehow restore compatibility or undo whatever threw it off.

Reproduced the bug. Not sure how did it manage to sneak past initial testing. Could be something about file sort order - *nix systems (and Cygwin, I guess) sort them, Windows prefers an unsorted mess (and so could Wine).

I’m debugging the save right now. Should have some sort of fix soon (I hope).

[quote=“Shadow86, post:8, topic:12973”]No dice, unfortunately. 5922 didn’t help.

If 5916 changed the expected vehicle code structure from under my world and now it’s forever incompatible, I’m not sure what I can do. Rolled back as far as 5900 but as I said earlier the issue has probably ingrained itself with the savegame the moment I saved it on 5917.

I suppose my only hope now is to keep waiting for a new build to somehow restore compatibility or undo whatever threw it off.[/quote]

I don’t know what caused the bug. 5916 only changes vehicle seats, adds mufflers and camera controls to military vehicles and motorbikes, adds item spawns to Mechanized Infantry carriers and Cargo Trucks, removes CARGO from turrets to fix an issue with multiple CARGO parts on the same tile, and adds a deprecation entry for seat_nocargo to savegame_json.cpp

All same problems as above. Not catastrophic (wow, this might be my 900th survivor over the last 3 years).


Forgot to say I’m on Windows 7 x64, playing the 64-bit tiles version. I’ve since updated to 5928 but the problem remains, so I’m leaving that world aside until a fix arrives.

I’ve created another world and another character and so far it’s working fine on that end. I’m very reluctant to update now.

[quote=“BorkBorkGoesTheCode, post:12, topic:12973”]data/mods//dda/…/…/…/json/faults.json

Yeah, the // is weird, if that’s what you mean.

The // should be fine, the problem is that it is loading the same directory twice.

Got it

The game version isn’t updated correctly during migration. To fix, find the mods.json in the save’s directory, edit it and remove the line with “dda” in it.

It works! You’re a god among zeds.

Any idea what triggered the malfunction? Could it have been the minor change in world settings (dynamic NPC spawn false -> true) I made? Or was it one of the recent updates?

It was a bug on our side. The code migrating the saves didn’t do a part of its job for some reason. It probably affects all saves that need that migration and so is a pretty major bug.