[16.0] Bad free() when trying to update headless server

Things that has been reported already before.
Post Reply
ekimekim
Burner Inserter
Burner Inserter
Posts: 17
Joined: Wed Dec 13, 2017 11:40 pm
Contact:

[16.0] Bad free() when trying to update headless server

Post by ekimekim »

When trying to update the core-linux_headless64 binary from 0.16.0 to 0.16.1, I got the following output:

Code: Select all

$ /srv/factorio/factorio/bin/x64/factorio --apply-update /tmp/factorio-update/core-linux_headless64-0.16.0-0.16.1-update.zip
   0.000 2017-12-13 15:32:46; Factorio 0.16.0 (build 34159, linux64, headless)
   0.015 Operating system: Linux (Arch rolling)
   0.015 Program arguments: "/srv/factorio/factorio/bin/x64/factorio" "--apply-update" "/tmp/factorio-update/core-linux_headless64-0.16.0-0.16.1-update.zip" 
   0.015 Read data path: /srv/factorio/factorio/data
   0.015 Write data path: /srv/factorio/factorio [247286/2816554MB]
   0.015 Binaries path: /srv/factorio/factorio/bin
   0.023 System info: [CPU:         Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, 8 cores, RAM: 32132MB]
   0.023 Running in headless mode
   0.026 Loading mod core 0.0.0 (data.lua)
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x00000000018b3b60 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
^C   6.460 Received SIGINT, shutting down
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x00000000018b3b60 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
*** Error in `/srv/factorio/factorio/bin/x64/factorio': free(): invalid pointer: 0x0000000001889e00 ***
^C   9.164 Received second SIGINT, terminating immediately
(obviously the Received SIGINT lines are where I hit ctrl-C, but other tests confirmed that this looping error never stops or changes)

The factorio-current.log output has a slightly different output:

Code: Select all

   0.000 2017-12-13 15:32:46; Factorio 0.16.0 (build 34159, linux64, headless)
   0.015 Operating system: Linux (Arch rolling)
   0.015 Program arguments: "/srv/factorio/factorio/bin/x64/factorio" "--apply-update" "/tmp/factorio-update/core-linux_headless64-0.16.0-0.16.1-update.zip" 
   0.015 Read data path: /srv/factorio/factorio/data
   0.015 Write data path: /srv/factorio/factorio [247286/2816554MB]
   0.015 Binaries path: /srv/factorio/factorio/bin
   0.023 System info: [CPU:         Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, 8 cores, RAM: 32132MB]
   0.023 Running in headless mode
   0.026 Loading mod core 0.0.0 (data.lua)
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
   6.460 Received SIGINT, shutting down
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
   9.164 Received second SIGINT, terminating immediately
As is indicated in the output, I'm running this on Arch Linux 64-bit. I am not running any mods. In case it matters, I'm using the factorio-init community script to manage the install, and factorio-updater to do normal updates.
When I first did a factorio-updater update to bring me to 0.16.1, it failed after upgrading to 0.16.0:

Code: Select all

Applying /tmp/factorio-update/core-linux_headless64-0.15.38-0.15.39-update.zip ...
Applying /tmp/factorio-update/core-linux_headless64-0.15.39-0.15.40-update.zip ...
Applying /tmp/factorio-update/core-linux_headless64-0.15.40-0.16.0-update.zip ...
Applying /tmp/factorio-update/core-linux_headless64-0.16.0-0.16.1-update.zip ...
bash: /srv/factorio/factorio/bin/x64/factorio: Permission denied
The reason for the error was that the bin/x64/factorio binary did not have execute permissions set. I corrected this then ran the update command manually, producing the above issue.

I did a little hands-on investigation with strace, and discovered it was spending most of the time each loop (approx 1 second) calling out to addr2line to generate stack traces that weren't able to be written. I managed to capture one via strace, and it was oddly long, and malformed (though this might be because of the way I munged it out of the strace output):

Code: Select all

Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
mprotect(0x7eff700d3000, 12288, PROT_READ|PROT_WRITE) = 0std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
std::string::reserve(unsigned long)
??:?
std::string::append(char const*, unsigned long)
??:?
std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
??:?
symbolizeAddresses(char const*, void**, unsigned long, std::vector<std::string, std::allocator<std::string> >&, std::vector<std::string, std::allocator<std::string> >&) [clone .constprop.62285]
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:295
Logger::writeStacktrace(FileWriteStream*, StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:439
Logger::logStacktrace(StackTraceInfo*)
/tmp/factorio-Jvn5qU/src/Util/Logger.cpp:471
CrashHandler::writeStackTrace(CrashHandler::CrashReason)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:127
CrashHandler::SignalHandler(int)
/tmp/factorio-Jvn5qU/src/Util/CrashHandler.cpp:416
I'm not seeing anyone else having this issue, which makes me suspect a corrupted binary or similar, so just in case here's a sha256 hash of the binary:

Code: Select all

647f923a6fa05425057318573f48f8d99a33f8ac0ce44ae6f2b1089cee341a85
Please let me know if there's any extra information I can give / things I should try, since I realise this issue isn't currently reproducible.


ekimekim
Burner Inserter
Burner Inserter
Posts: 17
Joined: Wed Dec 13, 2017 11:40 pm
Contact:

Re: [16.0] Bad free() when trying to update headless server

Post by ekimekim »

Ah, it's a 0.16.0 problem not specific to trying to update, I should've tried that first...guess I'll go download the full release instead of the patch. Thanks!

edit: Yep, that fixed it. Sorry for the dupe thread.

Post Reply

Return to “Duplicates”