TGWeaver / CDDA-Sky-Islands

A raid-based gameplay overhaul mod for CDDA
Other
91 stars 20 forks source link

CTD on Death #1

Open ghost opened 1 year ago

ghost commented 1 year ago

Had a couple of CTD when the character dies. Here's the crash log of the latest.

CRASH LOG FILE: /home/j/.cataclysm-dda/config/crash.log
VERSION: 0.F-12930-g9530b874514-dirty
TYPE: Signal
MESSAGE: SIGSEGV: Segmentation fault
STACK TRACE:

    ./cataclysm-tiles(debug_write_backtrace(std::ostream&)+0x23) [0x31fb073]
    ./cataclysm-tiles() [0x31c9ea1]
    ./cataclysm-tiles() [0x31c9c73]
    /lib/x86_64-linux-gnu/libc.so.6(+0x38d60) [0x7f1cc2d23d60]
    /lib/x86_64-linux-gnu/libc.so.6(+0x95177) [0x7f1cc2d80177]
    /lib/x86_64-linux-gnu/libstdc++.so.6(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned long, unsi
gned long) const+0x61) [0x7f1cc3155241]
    ./cataclysm-tiles(get_tag_positions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x28) [0x3dd2bf8]
    ./cataclysm-tiles(split_by_color(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x2b) [0x3dd2d1b]
    ./cataclysm-tiles(print_colored_text(catacurses::window const&, point const&, nc_color&, nc_color const&, std::__cxx11::basic_string<char, std::char_traits
<char>, std::allocator<char> > const&, report_color_error)+0x48) [0x3dd3088]
    ./cataclysm-tiles() [0x31b1cc2]
    ./cataclysm-tiles() [0x31b0ce7]
    ./cataclysm-tiles() [0x31b0cb7]
    ./cataclysm-tiles() [0x31b0bf2]
    ./cataclysm-tiles(std::function<void (ui_adaptor&)>::operator()(ui_adaptor&) const+0x29) [0x421b119]
    ./cataclysm-tiles(ui_adaptor::redraw_invalidated()+0x493) [0x421a2c3]
    ./cataclysm-tiles(ui_adaptor::redraw()+0x2a) [0x4219e2a]
    ./cataclysm-tiles(ui_manager::redraw()+0x6) [0x421a596]
    ./cataclysm-tiles(select_crafting_recipe(int&, string_id<recipe>)+0x12ac) [0x31a59ec]
    ./cataclysm-tiles(Character::craft(cata::optional<tripoint> const&, string_id<recipe> const&)+0x31) [0x3187c91]
    ./cataclysm-tiles(game::do_regular_action(action_id&, avatar&, cata::optional<tripoint> const&)+0x32a0) [0x34d8990]

    Attempting to repeat stack trace using debug symbols…
    debug_write_backtrace(std::ostream&)
    …/src/debug.cpp:1220
    log_crash(char const*, char const*)
    crash.cpp:?
    signal_handler(int)
    …/src/crash.cpp:137
    ??
    ??:0
    ??
    ??:0
    ??
    ??:0
    get_tag_positions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    …/src/output.cpp:?
    split_by_color(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    ??:?
    print_colored_text(catacurses::window const&, point const&, nc_color&, nc_color const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, report_color_error)
    ??:?
    operator()
    …/src/crafting_gui.cpp:1351
    void std::__invoke_impl<void, select_crafting_recipe(int&, string_id<recipe>)::$_41&, ui_adaptor&>(std::__invoke_other, select_crafting_recipe(int&, string_id<recipe>)::$_41&, ui_adaptor&)
    /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60
    _ZSt10__invoke_rIvRZ22select_crafting_recipeRi9string_idI6recipeEE4$_41JR10ui_adaptorEENSt9enable_ifIXsr6__and_ISt7is_voidIT_ESt14__is_invocableIT0_JDpT1_EEEE5valueESA_E4typeEOSD_DpOSE_
    /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:155
    std::_Function_handler<void (ui_adaptor&), select_crafting_recipe(int&, string_id<recipe>)::$_41>::_M_invoke(std::_Any_data const&, ui_adaptor&)
    /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:291
    std::function<void (ui_adaptor&)>::operator()(ui_adaptor&) const
    /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:622
    ui_adaptor::redraw_invalidated()
    …/src/ui_manager.cpp:412
    ui_adaptor::redraw()
    …/src/ui_manager.cpp:322
    ui_manager::redraw()
    …/src/ui_manager.cpp:466
    select_crafting_recipe(int&, string_id<recipe>)
    …/src/crafting_gui.cpp:1552
    Character::craft(cata::optional<tripoint> const&, string_id<recipe> const&)
    …/src/crafting.cpp:342
    game::do_regular_action(action_id&, avatar&, cata::optional<tripoint> const&)
    ??:?
TGWeaver commented 1 year ago

Mods should not be able to cause segfaults even with mistakes, so it may be a deeper bug within the base game's code. Unfortunately, at this stage, a segmentation fault is out of my ability to debug.

jeugster commented 1 year ago

With no mods except Sky Islands and a fresh world on experimental 2024-01-30-1327 I have the same segmentation fault CTD on some but not all deaths.

AlexMooney commented 1 year ago

Here's another CTD death, possibly because of driving a vehicle at the moment of death. A mi-go chased me down and got into the car before I was able to escape.

Stacktrace ``` VERSION: 0.F-13300-gdc89cf7d18-dirty TYPE: Signal MESSAGE: SIGSEGV: Segmentation fault STACK TRACE: ./cataclysm-tiles(debug_write_backtrace(std::ostream&)+0x2a) [0x55fc3cd564de] ./cataclysm-tiles(+0x116d29c) [0x55fc3cd3829c] ./cataclysm-tiles(+0x116cf47) [0x55fc3cd37f47] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fb624a6e520] ./cataclysm-tiles(Creature::set_killer(Creature*)+0x15) [0x55fc3cd3f3d7] ./cataclysm-tiles(Character::die(Creature*)+0x3b) [0x55fc3cba58f3] ./cataclysm-tiles(monster::melee_attack(Creature&, float)+0xc9b) [0x55fc3d4406d7] ./cataclysm-tiles(monster::move()+0x13e5) [0x55fc3d42f6f3] ./cataclysm-tiles(do_turn()+0x101a) [0x55fc3cde7e26] ./cataclysm-tiles(main+0x1312) [0x55fc3d22084e] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fb624a55d90] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fb624a55e40] ./cataclysm-tiles(_start+0x25) [0x55fc3c9a4845] Attempting to repeat stack trace using debug symbols… addr2line: DWARF error: invalid or unhandled FORM value: 0x23 debug_write_backtrace(std::ostream&) ??:? log_crash(char const*, char const*) crash.cpp:? signal_handler(int) crash.cpp:? ?? ??:0 addr2line: DWARF error: invalid or unhandled FORM value: 0x23 Creature::set_killer(Creature*) ??:? Character::die(Creature*) ??:? monster::melee_attack(Creature&, float) ??:? monster::move() ??:? do_turn() ??:? main ??:? ?? ??:0 ?? ??:0 addr2line: DWARF error: invalid or unhandled FORM value: 0x23 _start ??:? ```