[0.18.30] Crash: "HeatBufferManager.cpp:211: Didn't record all update indexes: 0 != 1"

Bugs that we were not able to reproduce, and/or are waiting for more detailed info.
weasel
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jun 05, 2020 5:34 pm
Contact:

[0.18.30] Crash: "HeatBufferManager.cpp:211: Didn't record all update indexes: 0 != 1"

Post by weasel »

I'm playing with the krastorio2 mod and I recently set up nuclear power.

Now, when loading a game (any of the 10 last autosaves and the most recent manual savegames) , the game crashes after a second or a few seconds (first freezes while it runs addr2line and then gives me the "Unexpected error" dialog).

The log file always has a trace via HeatBufferManager::update. Here's the latest example:

Code: Select all

Factorio crashed. Generating symbolized stacktrace, please wait ...
Raw stacktrace: 0xc5849c, 0xe4302d, 0xab6119, 0xad90ec, 0xbc9579, 0xc6e471, 0x1dd7340, 0x7fa3, 0
 104.598 Warning Logger.cpp:523: Symbols.size() == 16, usedSize == 8
#0  0x0000000000e4302d in std::__uniq_ptr_impl<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::_M_ptr() const at /home/build/gcc-9.2/include/c++/9.2.0/bits/unique_ptr.h:154
#1  0x0000000000ab6119 in std::unique_ptr<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::get() const at /home/build/gcc-9.2/include/c++/9.2.0/bits/unique_ptr.h:353
#2  0x0000000000ad90ec in std::unique_ptr<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::operator->() const at /home/build/gcc-9.2/include/c++/9.2.0/bits/unique_ptr.h:347
#3  0x0000000000bc9579 in Logger::flush() at /tmp/factorio-build-vi0ec0/src/Util/Logger.cpp:563
#4  0x0000000000c6e471 in Logger::logStacktrace(StackTraceInfo*) at /tmp/factorio-build-vi0ec0/src/Util/Logger.cpp:549
#5  0x0000000001dd7340 in Logging::flush() at /tmp/factorio-build-vi0ec0/src/Util/Logging.cpp:69
#6  0x0000000000007fa3 in Logging::logAndAbortOrThrow(char const*, unsigned int, LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at /tmp/factorio-build-vi0ec0/src/Util/Logging.cpp:103
#7  (nil) in Logging::logAndAbortOrThrow(char const*, unsigned int, LogLevel, char const*, ...) at /tmp/factorio-build-vi0ec0/src/Util/Logging.cpp:93
#8  (nil) in HeatBufferManager::update(unsigned int) at /tmp/factorio-build-vi0ec0/src/HeatBufferManager.cpp:211
#9  (nil) in std::function<void ()>::operator=(decltype(nullptr)) at /home/build/gcc-9.2/include/c++/9.2.0/bits/std_function.h:498
#10 (nil) in WorkerThread::loop() at /tmp/factorio-build-vi0ec0/src/Util/WorkerThread.cpp:49
#11 0x0000000000410644 in execute_native_thread_routine at /home/build/gcc-9.2-source/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81
#12 (nil) in ?? at /home/build/gcc-9.2-source/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:284
#13 (nil) in execute_native_thread_routine at /home/build/gcc-9.2-source/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11/../../../../../libstdc++-v3/src/c++11/thread.cc:79
#14 0x0000000000ff0000 in ?? at ??:0
#15 0x0000000000001000 in ?? at ??:0
Stack trace logging done
 125.986 Warning Logger.cpp:523: Symbols.size() == 11, usedSize == 7
 125.987 Error HeatBufferManager.cpp:211: Didn't record all update indexes: 0 != 1.
Logger::writeStacktrace skipped.
 125.987 Error CrashHandler.cpp:190: Map tick at moment of crash: 5778330
 125.987 Error Util.cpp:97: 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.
Attachments
free 23-krastorio2.028.zip
savegame
(6.64 MiB) Downloaded 83 times
factorio-current.log
log
(16.99 KiB) Downloaded 95 times
Rseding91
Factorio Staff
Factorio Staff
Posts: 15914
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [0.18.30] Crash: "HeatBufferManager.cpp:211: Didn't record all update indexes: 0 != 1"

Post by Rseding91 »

Thanks for the report. Based off what you describe that sounds like something was corrupt during saving - since the game ran fine during the creation of all those saves.

That, and since this is the first report I've seen with this crash makes me think you might have some hardware issue on your end. Can you try running this: https://www.memtest.org/
If you want to get ahold of me I'm almost always on Discord.
weasel
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jun 05, 2020 5:34 pm
Contact:

Re: [0.18.30] Crash: "HeatBufferManager.cpp:211: Didn't record all update indexes: 0 != 1"

Post by weasel »

I have not yet had the chance to run memtest (Mathematica is churning in the background for a few days already).

However, I went back to an even older save that finally worked. It even had a small nuclear setup, also. Further, I have not experienced any new crashes in subsequent save/load cycles.

Assuming it's not HW-related, this would suggest it's either a weird, rare bug that somehow corrupted some state internally, or it's cosmic rays. Either way, we might never know. Analyzing the provided savegame in detail might shed some light on it, but it's probably not time-efficient. I'm fine with closing this bug report.

Cheers!
Post Reply

Return to “Pending”