Page 1 of 1

[0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Sun Mar 20, 2016 1:13 am
by Majromax
Greetings. Both Factorio 0.12.26 and 0.12.27 crash when attempting to load my save file.

There was no indication of any problem at saving-time, but both the save file and subsequently-created autosaves exhibit this behaviour. When attempting to load this save, the game crashes during the loading process. The progress-bar location of this crash is consistent between attempts.

The save uses the following mods:
  • blueprint-string 2.2.0
  • FARL 0.5.15
  • ModuleInserter 0.1.31
  • rso-mod 1.4.6 (with custom modifications related to resource probabilities)
  • SmartTrains 0.3.7
... although the crash upon loading occurs even with these mods disabled. The save was made with version 0.12.26, and I updated to 0.12.27 to verify the crash continues before making this report.

The log file is included below, and the save file is available at dropbox

Code: Select all

   0.000 2016-03-19 21:09:13; Factorio 0.12.27 (Build 17887, win64, steam)
   0.000 Operating system: Windows 8 
   0.000 Program arguments: "C:\Program Files (x86)\Steam\steamapps\common\Factorio\bin\x64\Factorio.exe" 
   0.000 Read data path: C:/Program Files (x86)/Steam/steamapps/common/Factorio/data
   0.000 Write data path: C:/Users/Christopher/AppData/Roaming/Factorio
   0.000 Binaries path: C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin
   0.011 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: high] [Light scale: 20%] [Screen: 255]
   0.012 Available display adapters: 1
   0.012  [0]: \\.\DISPLAY1 - AMD Radeon HD 7800 Series {0x8000005, [0,0], 1920x1080, 32bit, 60Hz}
   0.012 Create display on adapter 0. Size 1280x720 at position [310, 162].
   0.170 Initialised OpenGL:[0] AMD Radeon HD 7800 Series; driver: 4.4.12874 Compatibility Profile Context 14.100.0.0
   0.197 Desktop composition is active.
   0.266 Loading mod core 0.0.0 (data.lua)
   0.268 Loading mod base 0.12.27 (data.lua)
   0.314 Loading mod FARL 0.5.15 (data.lua)
   0.351 Loading mod ModuleInserter 0.1.31 (data.lua)
   0.387 Loading mod SmartTrains 0.3.7 (data.lua)
   0.422 Loading mod FARL 0.5.15 (data-updates.lua)
   0.460 Loading mod rso-mod 1.4.6 (data-updates.lua)
   0.506 Loading mod SmartTrains 0.3.7 (data-updates.lua)
   0.542 Loading mod FARL 0.5.15 (data-final-fixes.lua)
   0.578 Loading mod ModuleInserter 0.1.31 (data-final-fixes.lua)
   0.950 Initial atlas bitmap size is 16384
   0.952 Created atlas bitmap 16384x5511
   9.917 Sprites loaded
   9.917 Loading sounds...
  11.207 Factorio initialised
 103.601 Loading map C:/Users\Christopher\AppData\Roaming\Factorio\saves\mygame.zip
 103.675 Info Scenario.cpp:124: Map version 0.12.26-0
 105.243 Error CrashHandler.cpp:105: Exception Code: c0000005, Address: 000007F6AAAAE3D5
 105.243 Error CrashHandler.cpp:115: Exception Context:
rax=0000000022000d2e, rbx=0000000000000012, rcx=000000c02de37620,
rdx=000000c029dd58ca, rsi=000000cf11e5e430, rdi=000000c06b2c28b0,
rip=000007f6aaaae3d5, rsp=000000c029f3e9b0, rbp=000000c029f3e9f0,
 r8=000000c022de5148,  r9=0000000022000d2e, r10=000000c029f3e9b0,
r11=000000c029f3e9b0, r12=0000000000000001, r13=000000c0222fd7c0,
r14=000000c0717be9e0, r15=000000c022de50b0
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-aeg5kw\libraries\stackwalker\stackwalker.cpp (923): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-aeg5kw\src\util\logger.cpp (306): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-aeg5kw\src\util\logger.cpp (360): Logger::logStacktrace
c:\cygwin64\tmp\factorio-aeg5kw\src\util\crashhandler.cpp (84): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-aeg5kw\src\util\crashhandler.cpp (125): CrashHandler::SehHandler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF5A5D640)
000007FBF5A5D640 (KERNELBASE): (filename not available): UnhandledExceptionFilter
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF890E6EB)
000007FBF890E6EB (ntdll): (filename not available): swscanf_s
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF889F31A)
000007FBF889F31A (ntdll): (filename not available): _C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF889E6CD)
000007FBF889E6CD (ntdll): (filename not available): RtlLookupFunctionEntry
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF889F9B4)
000007FBF889F9B4 (ntdll): (filename not available): DbgPrint
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF8884B5A)
000007FBF8884B5A (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-aeg5kw\src\energy\electricenergysourceprototype.cpp (65): ElectricEnergySourcePrototype::createInternal
c:\cygwin64\tmp\factorio-aeg5kw\src\energy\energysourceprototype.cpp (36): EnergySourcePrototype::loadInstance
c:\cygwin64\tmp\factorio-aeg5kw\src\entity\inserter.cpp (72): Inserter::Inserter
c:\cygwin64\tmp\factorio-aeg5kw\src\entity\inserterprototype.cpp (47): InserterPrototype::createInternal
c:\cygwin64\tmp\factorio-aeg5kw\src\entity\entityprototype.cpp (327): EntityPrototype::loadEntity
c:\cygwin64\tmp\factorio-aeg5kw\src\surface\chunk.cpp (310): Chunk::load
c:\cygwin64\tmp\factorio-aeg5kw\src\surface\surface.cpp (505): Surface::load
c:\cygwin64\tmp\factorio-aeg5kw\src\map\map.cpp (495): Map::Map
c:\cygwin64\tmp\factorio-aeg5kw\src\scenario\scenario.cpp (133): Scenario::loadFactory
c:\cygwin64\tmp\factorio-aeg5kw\src\scenario\parallelscenarioloader.cpp (66): ParallelScenarioLoader::doLoad
c:\boost_1_58_0\boost\thread\detail\thread.hpp (117): boost::detail::thread_data<boost::_bi::bind_t<void,void (__cdecl*)(ParallelScenarioLoader * __ptr64,MapDeserialiser * __ptr64,enum InputType,InputHandler * __ptr64,MultiplayerManager * __ptr64,bool),boost::_bi::list6<boost::_bi::value<ParallelScenarioLoader * __ptr64>,boost::_bi::value<MapDeserialiser * __ptr64>,boost::_bi::value<enum InputType>,boost::_bi::value<InputHandler * __ptr64>,boost::_bi::value<MultiplayerManager * __ptr64>,boost::_bi::value<bool> > > >::run
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007F6AA6FF593)
000007F6AA6FF593 (Factorio): (filename not available): boost::`anonymous namespace'::thread_start_function
f:\dd\vctools\crt\crtw32\startup\threadex.c (376): _callthreadstartex
f:\dd\vctools\crt\crtw32\startup\threadex.c (354): _threadstartex
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF61B1842)
000007FBF61B1842 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000007FBF88C0DFD)
000007FBF88C0DFD (ntdll): (filename not available): RtlUserThreadStart
 105.872 Error Util.cpp:78: Unexpected error occurred. You can help us to solve the problem by posting the contents of the log file on the Factorio forums.

Re: [0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Mon Mar 21, 2016 12:51 pm
by kovarex
Hello,
this is really a strange bug, for some reason, one inserter decided to save index of his electric connection as 570428718 instead of 3374.
Everything else in the save seems to be fine, so I strongly believe, it is an hardware issue of some kind. (Some random electron moved in non expected way?)

As the save has 111 hours, I think that you wouldn't like loosing it, so I resaved the fixed version of it, so you can conitnue playing, but you should probably use incremental save names so you can go back to the last working version if it goes wrong.

(You will have to update some of the mods to load the save properly).

Re: [0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Mon Mar 21, 2016 1:38 pm
by Majromax
Thank you very much!

I wouldn't be too surprised if there were some sort of underlying hardware issue, especially since the erroneous value differs from the correct value by two bits in the upper word and I have underlying system stability problems. I was mostly surprised that the game would run and save with this sort of error, but not be able to load the produced save.

A much earlier version of this base exhibited "bad belt" consistently with viewtopic.php?f=35&t=20928

Re: [0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Mon Mar 21, 2016 1:46 pm
by kovarex
Majromax wrote:Thank you very much!

I wouldn't be too surprised if there were some sort of underlying hardware issue, especially since the erroneous value differs from the correct value by two bits in the upper word and I have underlying system stability problems. I was mostly surprised that the game would run and save with this sort of error, but not be able to load the produced save.

A much earlier version of this base exhibited "bad belt" consistently with viewtopic.php?f=35&t=20928
Aaaah, so you are the bed belt guy. Well, I advice you to run some memory/cpu tests and fix your hardware :)

Re: [0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Mon Mar 21, 2016 3:13 pm
by Majromax
I'm not the bad belt guy, but I had the same issue pop up. I saw that bug report when searching to see if my current issue was already known. ("Bad belt" might also be an important issue for multiplayer: if a player can deliberately cause this situation via memory-editing, he or she could possibly execute a denial-of-service against other players since the bug exhibits itself with infinite memory allocation.)

I'll run another round of memtest86, but at least a couple months ago the system had passed. My stability issues seem to be related to graphics use, which is a harder thing to nail down.

Re: [0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Thu Dec 01, 2016 2:40 pm
by Loewchen
See here as well: viewtopic.php?f=7&t=38032

Re: [0.12.27] [kovarex] Crash on loading save file (saved with .26)

Posted: Fri Dec 02, 2016 12:21 am
by DaveMcW
Majromax wrote:"Bad belt" might also be an important issue for multiplayer: if a player can deliberately cause this situation via memory-editing, he or she could possibly execute a denial-of-service against other players since the bug exhibits itself with infinite memory allocation.
Memory editing doesn't work in multiplayer, anyone with unexpected memory values gets kicked for desync.