# Segmentation fault; crash on loading

**URL:** <https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843>\
**Category:** The Garage\
**Created:** [June 20, 2023, 7:20pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843 "2023-06-20T19:20:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Euvin](https://avatars.discourse-cdn.com/v4/letter/e/5f9b8f/32.png) [@Euvin](https://discourse.cataclysmdda.org/u/Euvin)\
**Post date:** [June 20, 2023, 7:20pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843/1 "2023-06-20T19:20:39Z")

</div>

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?

```auto
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),

```

---

<div class="post-metadata">

**Author:** ![Profugo\_Barbatus](https://avatars.discourse-cdn.com/v4/letter/p/d26b3c/32.png) [@Profugo\_Barbatus](https://discourse.cataclysmdda.org/u/Profugo_Barbatus)\
**Post date:** [June 20, 2023, 7:41pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843/2 "2023-06-20T19:41:33Z")

</div>

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](https://github.com/CleverRaven/Cataclysm-DDA/issues), and that’ll guarantee eyes on it from people who can try to fix things.

---

<div class="post-metadata">

**Author:** ![Euvin](https://avatars.discourse-cdn.com/v4/letter/e/5f9b8f/32.png) [@Euvin](https://discourse.cataclysmdda.org/u/Euvin)\
**Post date:** [June 20, 2023, 7:55pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843/3 "2023-06-20T19:55:12Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Profugo\_Barbatus](https://avatars.discourse-cdn.com/v4/letter/p/d26b3c/32.png) [@Profugo\_Barbatus](https://discourse.cataclysmdda.org/u/Profugo_Barbatus)\
**Post date:** [June 20, 2023, 8:08pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843/4 "2023-06-20T20:08:46Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Euvin](https://avatars.discourse-cdn.com/v4/letter/e/5f9b8f/32.png) [@Euvin](https://discourse.cataclysmdda.org/u/Euvin)\
**Post date:** [June 20, 2023, 8:27pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843/5 "2023-06-20T20:27:48Z")

</div>

I opened the [issue](https://github.com/CleverRaven/Cataclysm-DDA/issues/66342), updating here if anyone else experiences the bug.

---

<div class="post-metadata">

**Author:** ![metiscus](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/metiscus/32/12403_2.png) [@metiscus](https://discourse.cataclysmdda.org/u/metiscus)\
**Post date:** [June 22, 2023, 5:07pm UTC](https://discourse.cataclysmdda.org/t/segmentation-fault-crash-on-loading/28843/6 "2023-06-22T17:07:34Z")

</div>

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.
