Segmentation fault; crash on loading

I got this recurring crash while unloading my canning pot in my base. When I load the save, it crashes again immediately with a similar crash report. Is the save beyond fixing?

The program has crashed.
See the log file for a stack trace.
CRASH LOG FILE: ./config/crash.log
VERSION: d6ec466
TYPE: Signal
MESSAGE: SIGSEGV: Segmentation fault
STACK TRACE:

  #0
    (dbghelp: @0x7ff6c4f45590[cataclysm-tiles.exe+0x235590]), 
    (libbacktrace: debug_write_backtrace(std::ostream&)+0x9e@0x140235590),
    0x140235590    src/debug.cpp:1119    debug_write_backtrace(std::ostream&)
  #1
    (dbghelp: @0x7ff6c4f2dc61[cataclysm-tiles.exe+0x21dc61]), 
    (libbacktrace: log_crash+0x1d2@0x14021dc61),
    0x14021dc61    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/sstream:917    std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const
    0x14021dc61    src/crash.cpp:85    log_crash
  #2
    (dbghelp: @0x7ff6c4f2de8f[cataclysm-tiles.exe+0x21de8f]), 
    (libbacktrace: signal_handler+0x52@0x14021de8f),
    0x14021de8f    src/crash.cpp:137    signal_handler
  #3
    (dbghelp: @0x7ff6c5879ff2[cataclysm-tiles.exe+0xb69ff2]), 
    (libbacktrace: gnu_exception_handler+0x182@0x140b69ff2),
    0x140b69ff2    /opt/mxe/tmp-gcc-x86_64-w64-mingw32.static.gcc11/gcc-11.2.0.build_/mingw-w64-v9.0.0/mingw-w64-crt/crt/crt_handler.c:224    _gnu_exception_handler
  #4
    (dbghelp: _C_specific_handler+0x98@0x7ffdd3a9b248[msvcrt.dll+0x2b248]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #5
    (dbghelp: _chkstk+0x12f@0x7ffdd5893cff[ntdll.dll+0xa3cff]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #6
    (dbghelp: RtlFindCharInUnicodeString+0xa96@0x7ffdd580e456[ntdll.dll+0x1e456]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #7
    (dbghelp: KiUserExceptionDispatcher+0x2e@0x7ffdd5892cee[ntdll.dll+0xa2cee]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #8
    (dbghelp: @0x7ff6c5f84a10[cataclysm-tiles.exe+0x1274a10]), 
    (libbacktrace: std::_Rb_tree<string_id<json_flag>, string_id<json_flag>, std::_Identity<string_id<json_flag> >, std::less<string_id<json_flag> >, std::allocator<string_id<json_flag> > >::find(string_id<json_flag> const&) const+0x10@0x141274a10),
    0x141274a10    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_tree.h:792    std::_Rb_tree<string_id<json_flag>, string_id<json_flag>, std::_Identity<string_id<json_flag> >, std::less<string_id<json_flag> >, std::allocator<string_id<json_flag> > >::_S_right(std::_Rb_tree_node_base const*)
    0x141274a10    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_tree.h:1922    std::_Rb_tree<string_id<json_flag>, string_id<json_flag>, std::_Identity<string_id<json_flag> >, std::less<string_id<json_flag> >, std::allocator<string_id<json_flag> > >::_M_lower_bound(std::_Rb_tree_node<string_id<json_flag> > const*, std::_Rb_tree_node_base const*, string_id<json_flag> const&) const
    0x141274a10    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_tree.h:2534    std::_Rb_tree<string_id<json_flag>, string_id<json_flag>, std::_Identity<string_id<json_flag> >, std::less<string_id<json_flag> >, std::allocator<string_id<json_flag> > >::find(string_id<json_flag> const&) const
  #9
    (dbghelp: @0x7ff6c5132861[cataclysm-tiles.exe+0x422861]), 
    (libbacktrace: item::has_own_flag(string_id<json_flag> const&) const+0x13@0x140422861),
    0x140422861    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_tree.h:1008    std::_Rb_tree<string_id<json_flag>, string_id<json_flag>, std::_Identity<string_id<json_flag> >, std::less<string_id<json_flag> >, std::allocator<string_id<json_flag> > >::end() const
    0x140422861    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_set.h:354    std::set<string_id<json_flag>, std::less<string_id<json_flag> >, std::allocator<string_id<json_flag> > >::end() const
    0x140422861    src/item.cpp:7311    item::has_own_flag(string_id<json_flag> const&) const
  #10
    (dbghelp: @0x7ff6c51396bf[cataclysm-tiles.exe+0x4296bf]), 
    (libbacktrace: item::is_soft() const+0x19@0x1404296bf),
    0x1404296bf    src/item.cpp:13655    item::is_soft() const
  #11
    (dbghelp: @0x7ff6c51508ee[cataclysm-tiles.exe+0x4408ee]), 
    (libbacktrace: item::length() const+0x34@0x1404408ee),
    0x1404408ee    src/item.cpp:6948    item::length() const
  #12
    (dbghelp: @0x7ff6c51525a1[cataclysm-tiles.exe+0x4425a1]), 
    (libbacktrace: item::can_contain(item const&, bool, bool, bool, item_location const&, units::quantity<int, units::volume_in_milliliter_tag>, bool) const+0x15f@0x1404425a1),
    0x1404425a1    src/item.cpp:10373    item::can_contain(item const&, bool, bool, bool, item_location const&, units::quantity<int, units::volume_in_milliliter_tag>, bool) const
  #13
    (dbghelp: @0x7ff6c4e7d6d1[cataclysm-tiles.exe+0x16d6d1]), 
    (libbacktrace: outfit::can_pickVolume(item const&, bool) const+0x6d@0x14016d6d1),
    0x14016d6d1    src/ret_val.h:14    ret_val_common::success() const
    0x14016d6d1    src/character_attire.cpp:1655    outfit::can_pickVolume(item const&, bool) const
  #14
    (dbghelp: @0x7ff6c4e6768a[cataclysm-tiles.exe+0x15768a]), 
    (libbacktrace: Character::add_or_drop_with_msg(item&, bool, item const*, item const*)+0x72@0x14015768a),
    0x14015768a    src/character.cpp:10180    Character::add_or_drop_with_msg(item&, bool, item const*, item const*)
  #15
    (dbghelp: @0x7ff6c4d422d7[cataclysm-tiles.exe+0x322d7]), 
    (libbacktrace: unload_activity_actor::unload(Character&, item_location&)+0xe1@0x1400322d7),
    0x1400322d7    src/activity_actor.cpp:2891    unload_activity_actor::unload(Character&, item_location&)
  #16
    (dbghelp: @0x7ff6c5568bcf[cataclysm-tiles.exe+0x858bcf]), 
    (libbacktrace: player_activity::do_turn(Character&)+0x777@0x140858bcf),
    0x140858bcf    src/player_activity.cpp:374    player_activity::do_turn(Character&)
  #17
    (dbghelp: @0x7ff6c4f95135[cataclysm-tiles.exe+0x285135]), 
    (libbacktrace: do_turn()+0x418@0x140285135),
    0x140285135    src/do_turn.cpp:679    do_turn()
  #18
    (dbghelp: @0x7ff6c6324186[cataclysm-tiles.exe+0x1614186]), 
    (libbacktrace: main+0x1e80@0x141614186),
    0x141614186    src/main.cpp:816    main
  #19
    (dbghelp: @0x7ff6c4d113c1[cataclysm-tiles.exe+0x13c1]), 
    (libbacktrace: _tmainCRTStartup+0x231@0x1400013c1),
    0x1400013c1    /opt/mxe/tmp-gcc-x86_64-w64-mingw32.static.gcc11/gcc-11.2.0.build_/mingw-w64-v9.0.0/mingw-w64-crt/crt/crtexe.c:323    __tmainCRTStartup
  #20
    (dbghelp: @0x7ff6c4d114d6[cataclysm-tiles.exe+0x14d6]), 
    (libbacktrace: WinMainCRTStartup+0x16@0x1400014d6),
    0x1400014d6    /opt/mxe/tmp-gcc-x86_64-w64-mingw32.static.gcc11/gcc-11.2.0.build_/mingw-w64-v9.0.0/mingw-w64-crt/crt/crtexe.c:178    WinMainCRTStartup
  #21
    (dbghelp: BaseThreadInitThunk+0x1d@0x7ffdd49a26ad[KERNEL32.DLL+0x126ad]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #22
    (dbghelp: RtlUserThreadStart+0x28@0x7ffdd584a9f8[ntdll.dll+0x5a9f8]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),

So just to be clear, it now happens even if you don’t unload the canning pot, but just when you load the save? The version number should be 0.G can you confirm that as well?

If so, you can try loading it into the most recent experimental - something about the flags on the items is breaking it when it tries to unload an item, but there’s been a lot of inventory handling fixes since. Make sure to use a copy of your save just in case, don’t cut and paste the original into the new game version.

If that doesn’t work, you can upload your save along with the crash report to the git in a new issue, and that’ll guarantee eyes on it from people who can try to fix things.

To be clear, I occurred first whilst unloading, then each time I reload, it crashes immediately upon the completion of the save loading (When I could start playing the game). I confirm I am playing on 0.G stable.

I will try to open a new git issue, how do I get the savefile? I see plenty of files in the world folder, which one is the save and how should I upload it?

Zip up the folder with the world name that the problem character is in - Don’t think you can quite make it into the debug menu to get the compressed saves they like, so next best thing.

I opened the issue, updating here if anyone else experiences the bug.

I uploaded a fixed version of your save game in a reply to the github issue. Hopefully you can get back to enjoying the game. Cheers.

1 Like