[2.0.29] Crash loading save from 2.0.28 - possibly fluid related

Bugs that we were not able to reproduce, and/or are waiting for more detailed info.
Ceisc
Burner Inserter
Burner Inserter
Posts: 7
Joined: Tue Jul 26, 2022 6:19 pm
Contact:

[2.0.29] Crash loading save from 2.0.28 - possibly fluid related

Post by Ceisc »

I have a save file with ~300 hours of game time in it and since updating to 2.0.29 Factorio crashes when loading the save with the following log:

Code: Select all

  14.236 Loading level.dat: 250794737 bytes.
  14.242 Info Scenario.cpp:178: Map version 2.0.28-1
  17.440 Info MapSetupHelper.cpp:674: Deleting 3 leaked electric networks
Factorio crashed. Generating symbolized stacktrace, please wait ...
/tmp/factorio-build-0ZJT18/src/Util/StacktraceToStream.cpp (52): walkStackAndPrintToStream
/tmp/factorio-build-0ZJT18/src/Util/StacktraceToStream.cpp (60): Util::printStacktraceToStream(WriteStream&)
/tmp/factorio-build-0ZJT18/src/Util/Logger.cpp (334): Logger::writeStacktrace(WriteStream*, StackTraceInfo*)
/tmp/factorio-build-0ZJT18/src/Util/Logger.cpp (379): Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-build-0ZJT18/src/Util/Logging.cpp (103): Logging::logAndAbortOrThrow(char const*, unsigned int, LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
/tmp/factorio-build-0ZJT18/src/Util/Logging.cpp (95): Logging::logAndAbortOrThrow(char const*, unsigned int, LogLevel, char const*, ...)
/tmp/factorio-build-0ZJT18/src/Util/ReleaseAssert.cpp (7): ReleaseAssertFailed(char const*, unsigned int, char const*)
/tmp/factorio-build-0ZJT18/src/Fluid/FluidBuffer.cpp (136): FluidBuffer::setVolume(FixedPointNumberTemplate<long, 24u, true>)
/tmp/factorio-build-0ZJT18/src/Fluid/FluidBuffer.cpp (134): FluidBuffer::setVolume(FixedPointNumberTemplate<long, 24u, true>)
/tmp/factorio-build-0ZJT18/src/Fluid/FluidSegment.cpp (273): FluidSegment::removeFluidBoxForMigration(FluidBox*)
/tmp/factorio-build-0ZJT18/src/Map/MapSetupHelper.cpp (415): MapSetupHelper::migrateFluidBoxes()
/tmp/factorio-build-0ZJT18/src/Map/MapSetupHelper.cpp (183): MapSetupHelper::MapSetupHelper(Map&, MapDeserialiser*, bool, ProgressObserver*)
/tmp/factorio-build-0ZJT18/src/Map/Map.cpp (828): Map::setupEntities(Map&, MapDeserialiser*, bool, ProgressObserver*)
/tmp/factorio-build-0ZJT18/src/Scenario/Scenario.cpp (330): Scenario::loadFactory(MapInterface, Filesystem::Path const*, Filesystem::Path const&, ScenarioExecutionContext, LoadType, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, ProgressObserver*, bool, InputListener*)
/tmp/factorio-build-0ZJT18/src/Scenario/ParallelScenarioLoader.cpp (192): ParallelScenarioLoader::doLoad(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>)
/opt/gcc-13.2.0/include/c++/13.2.0/bits/invoke.h (61): void std::__invoke_impl<void, void (*)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>::Enum>(std::__invoke_other, void (*&&)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface&&, ParallelScenarioLoader*&&, MapDeserialiser*&&, InputType&&, InputSource*&&, MultiplayerManagerBase*&&, NamedBool<EnableReplayTag>::Enum&&)
/opt/gcc-13.2.0/include/c++/13.2.0/bits/invoke.h (96): std::__invoke_result<void (*)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>::Enum>::type std::__invoke<void (*)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>::Enum>(void (*&&)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface&&, ParallelScenarioLoader*&&, MapDeserialiser*&&, InputType&&, InputSource*&&, MultiplayerManagerBase*&&, NamedBool<EnableReplayTag>::Enum&&)
/opt/gcc-13.2.0/include/c++/13.2.0/bits/std_thread.h (292): void std::thread::_Invoker<std::tuple<void (*)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>::Enum> >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>)
/opt/gcc-13.2.0/include/c++/13.2.0/bits/std_thread.h (299): std::thread::_Invoker<std::tuple<void (*)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>::Enum> >::operator()()
/opt/gcc-13.2.0/include/c++/13.2.0/bits/std_thread.h (244): std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader*, MapDeserialiser*, InputType, InputSource*, MultiplayerManagerBase*, NamedBool<EnableReplayTag>::Enum> > >::_M_run()
/tmp/tmp.dlP10F34z6/objdir/../gcc-13.2.0/libstdc++-v3/src/c++11/thread.cc (104): execute_native_thread_routine
./nptl/pthread_create.c (442): start_thread
0x7a5275d2684f
0xffffffffffffffff
Stack trace logging done
  18.342 Error FluidBuffer.cpp:136: volume >= ZERO_FLUID was not true
  18.342 Error CrashHandler.cpp:643: Received 6
Logger::writeStacktrace skipped.
  18.342 Error Util.cpp:95: Unexpected error occurred. If you're running the latest version of the game you can help us solve the problem by posting the contents of the log file on the Factorio forums.
Please also include the save file(s), any mods you may be using, and any steps you know of to reproduce the crash.
  20.555 Info SystemUtil.cpp:871: Started /usr/bin/xdg-open; trampoline PID: 1946284
  20.555 Uploading log file
The save file works fine when opening in 2.0.28 and so this appears to be something introduced in the 2.0.29 update.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 3458
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.29] Crash loading save from 2.0.28 - possibly fluid related

Post by boskid »

Just because it does not load in 2.0.29 does not mean there was an issue introduced in 2.0.29. I do not remember any fluids related changes in 2.0.29. It may be simply a corrupted save file that loads in 2.0.28 but would also fail in 2.0.28 when changing mods or loading save file in a prototypes-changed mode (triggered by holding Control key when clicking "Load" button in load gui). Without a save file and a full log there is nothing that can be done so i am moving this to pending.
Post Reply

Return to “Pending”