TGWeaver / CDDA-Sky-Islands

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

CTD teleporting to earth #22

Open Semboflorin opened 1 year ago

Semboflorin commented 1 year ago

I noticed this in the previous version but found a work around. Problem persists in this version. The crash occurs after teleporting to earth. This crash does not occur in the early part of the game. As play progresses and multiple expeditions are done the crash starts to happen. It appears the crash happens when trying to generate missions. As play continues and more expeditions are done the crash becomes more and more common.

The work around I found was to save and quit the game right before initiating an expedition. Then reload the client. Usually, the game would not crash. As time progresses this work around is less and less effective. In my current, late game save, I suffer 1-3 crashes every time I try to teleport to earth before I can finally get one that doesn't crash. Even when I use my work around.

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

0

(dbghelp: @0x7ff7c23d42f0[cataclysm-tiles.exe+0x2342f0]), 
(libbacktrace: debug_write_backtrace(std::ostream&)+0x9e@0x1402342f0),
0x1402342f0    src/debug.cpp:1119    debug_write_backtrace(std::ostream&)

1

(dbghelp: @0x7ff7c23bcce1[cataclysm-tiles.exe+0x21cce1]), 
(libbacktrace: log_crash+0x1d2@0x14021cce1),
0x14021cce1    /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
0x14021cce1    src/crash.cpp:85    log_crash

2

(dbghelp: @0x7ff7c23bcf0f[cataclysm-tiles.exe+0x21cf0f]), 
(libbacktrace: signal_handler+0x52@0x14021cf0f),
0x14021cf0f    src/crash.cpp:137    signal_handler

3

(dbghelp: @0x7ff7c2d036a2[cataclysm-tiles.exe+0xb636a2]), 
(libbacktrace: gnu_exception_handler+0x182@0x140b636a2),
0x140b636a2    /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@0x7ffe8f997ff8[msvcrt.dll+0x27ff8]), 
(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+0x11f@0x7ffe8faf241f[ntdll.dll+0xa241f]), 
(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: RtlRaiseException+0x434@0x7ffe8faa14a4[ntdll.dll+0x514a4]), 
(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@0x7ffe8faf0f4e[ntdll.dll+0xa0f4e]), 
(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: @0x7ff7c3310deb[cataclysm-tiles.exe+0x1170deb]), 
(libbacktrace: four_quadrants::max() const+0xb@0x141170deb),
0x141170deb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/predefined_ops.h:45    bool __gnu_cxx::__ops::_Iter_less_iter::operator()<float const*, float const*>(float const*, float const*) const
0x141170deb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_algo.h:5688    float const* std::__max_element<float const*, __gnu_cxx::__ops::_Iter_less_iter>(float const*, float const*, __gnu_cxx::__ops::_Iter_less_iter)
0x141170deb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_algo.h:5682    float const* std::__max_element<float const*, __gnu_cxx::__ops::_Iter_less_iter>(float const*, float const*, __gnu_cxx::__ops::_Iter_less_iter)
0x141170deb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_algo.h:5712    float const* std::max_element<float const*>(float const*, float const*)
0x141170deb    src/shadowcasting.h:57    four_quadrants::max() const

9

(dbghelp: @0x7ff7c26e4456[cataclysm-tiles.exe+0x544456]), 
(libbacktrace: map::pl_sees(tripoint const&, int) const+0xda@0x140544456),
0x140544456    src/lightmap.cpp:789    map::pl_sees(tripoint const&, int) const

10

(dbghelp: @0x7ff7c22ff119[cataclysm-tiles.exe+0x15f119]), 
(libbacktrace: Character::sees(tripoint const&, bool, int) const+0x5b@0x14015f119),
0x14015f119    src/character.cpp:10012    Character::sees(tripoint const&, bool, int) const

11

(dbghelp: @0x7ff7c2717ebc[cataclysm-tiles.exe+0x577ebc]), 
(libbacktrace: ter_furn_transform::transform(map&, coords::coord_point<tripoint, (coords::origin)5, (coords::scale)0> const&) const+0x61e@0x140577ebc),
0x140577ebc    src/magic_ter_fur_transform.cpp:282    ter_furn_transform::transform(map&, coords::coord_point<tripoint, (coords::origin)5, (coords::scale)0> const&) const

12

(dbghelp: @0x7ff7c333621b[cataclysm-tiles.exe+0x119621b]), 
(libbacktrace: jmapgen_ter_furn_transform::apply(mapgendata const&, jmapgen_int const&, jmapgen_int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0x8b@0x14119621b),
0x14119621b    src/mapgen.cpp:2823    jmapgen_ter_furn_transform::apply(mapgendata const&, jmapgen_int const&, jmapgen_int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const

13

(dbghelp: @0x7ff7c2787329[cataclysm-tiles.exe+0x5e7329]), 
(libbacktrace: jmapgen_objects::apply(mapgendata const&, mapgen_phase, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0x157@0x1405e7329),
0x1405e7329    src/mapgen.cpp:4886    jmapgen_objects::apply(mapgendata const&, mapgen_phase, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const

14

(dbghelp: @0x7ff7c278bb34[cataclysm-tiles.exe+0x5ebb34]), 
(libbacktrace: apply_mapgen_in_phases(mapgendata const&, std::vector<jmapgen_setmap, std::allocator<jmapgen_setmap> > const&, jmapgen_objects const&, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)+0x138@0x1405ebb34),
0x1405ebb34    src/mapgen.cpp:4757    apply_mapgen_in_phases

15

(dbghelp: @0x7ff7c27a17fd[cataclysm-tiles.exe+0x6017fd]), 
(libbacktrace: mapgen_function_json_nested::nest(mapgendata const&, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0xab@0x1406017fd),
0x1406017fd    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/basic_string.h:671    std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
0x1406017fd    src/mapgen.cpp:4847    mapgen_function_json_nested::nest(mapgendata const&, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const

16

(dbghelp: @0x7ff7c33116c6[cataclysm-tiles.exe+0x11716c6]), 
(libbacktrace: jmapgen_nested::apply(mapgendata const&, jmapgen_int const&, jmapgen_int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0x126@0x1411716c6),
0x1411716c6    src/mapgen.cpp:3433    jmapgen_nested::apply(mapgendata const&, jmapgen_int const&, jmapgen_int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const

17

(dbghelp: @0x7ff7c2787329[cataclysm-tiles.exe+0x5e7329]), 
(libbacktrace: jmapgen_objects::apply(mapgendata const&, mapgen_phase, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const+0x157@0x1405e7329),
0x1405e7329    src/mapgen.cpp:4886    jmapgen_objects::apply(mapgendata const&, mapgen_phase, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const

18

(dbghelp: @0x7ff7c278bb34[cataclysm-tiles.exe+0x5ebb34]), 
(libbacktrace: apply_mapgen_in_phases(mapgendata const&, std::vector<jmapgen_setmap, std::allocator<jmapgen_setmap> > const&, jmapgen_objects const&, point const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)+0x138@0x1405ebb34),
0x1405ebb34    src/mapgen.cpp:4757    apply_mapgen_in_phases

19

(dbghelp: @0x7ff7c27a16af[cataclysm-tiles.exe+0x6016af]), 
(libbacktrace: mapgen_function_json::generate(mapgendata&)+0x18b@0x1406016af),
0x1406016af    src/mapgen.cpp:4818    mapgen_function_json::generate(mapgendata&)

20

(dbghelp: @0x7ff7c3311b32[cataclysm-tiles.exe+0x1171b32]), 
(libbacktrace: mapgen_factory::generate(mapgendata&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) const+0xc2@0x141171b32),
0x141171b32    src/mapgen.cpp:350    mapgen_basic_container::generate(mapgendata&, int) const
0x141171b32    src/mapgen.cpp:476    mapgen_factory::generate(mapgendata&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) const

21

(dbghelp: @0x7ff7c27aed78[cataclysm-tiles.exe+0x60ed78]), 
(libbacktrace: map::draw_map(mapgendata&)+0x3a@0x14060ed78),
0x14060ed78    src/mapgen.cpp:4913    map::draw_map(mapgendata&)

22

(dbghelp: @0x7ff7c27af2af[cataclysm-tiles.exe+0x60f2af]), 
(libbacktrace: map::generate(tripoint const&, time_point const&)+0x373@0x14060f2af),
0x14060f2af    src/int_id.h:109    int_id<oter_t>::operator->() const
0x14060f2af    src/mapgen.cpp:226    map::generate(tripoint const&, time_point const&)

23

(dbghelp: @0x7ff7c274903e[cataclysm-tiles.exe+0x5a903e]), 
(libbacktrace: map::loadn(tripoint const&, bool, bool)+0x3b6@0x1405a903e),
0x1405a903e    src/map.cpp:7667    map::loadn(tripoint const&, bool, bool)

24

(dbghelp: @0x7ff7c2749bd8[cataclysm-tiles.exe+0x5a9bd8]), 
(libbacktrace: map::loadn(point const&, bool, bool)+0x4e@0x1405a9bd8),
0x1405a9bd8    src/map.cpp:7738    map::loadn(point const&, bool, bool)
0x1405a9bd8    src/map.cpp:7735    map::loadn(point const&, bool, bool)

25

(dbghelp: @0x7ff7c2749d75[cataclysm-tiles.exe+0x5a9d75]), 
(libbacktrace: map::load(coords::coord_point<tripoint, (coords::origin)1, (coords::scale)1> const&, bool, bool)+0x149@0x1405a9d75),
0x1405a9d75    src/map.cpp:7319    map::load(coords::coord_point<tripoint, (coords::origin)1, (coords::scale)1> const&, bool, bool)

26

(dbghelp: @0x7ff7c24f01ac[cataclysm-tiles.exe+0x3501ac]), 
(libbacktrace: game::place_player_overmap(coords::coord_point<tripoint, (coords::origin)1, (coords::scale)2> const&, bool)+0x1ec@0x1403501ac),
0x1403501ac    src/game.cpp:10466    game::place_player_overmap(coords::coord_point<tripoint, (coords::origin)1, (coords::scale)2> const&, bool)

27

(dbghelp: @0x7ff7c2b3fa55[cataclysm-tiles.exe+0x99fa55]), 
(libbacktrace: teleport::teleport_to_point(Creature&, tripoint, bool, bool, bool, bool)+0x247@0x14099fa55),
0x14099fa55    src/teleport.cpp:78    teleport::teleport_to_point(Creature&, tripoint, bool, bool, bool, bool)

28

(dbghelp: @0x7ff7c35e276f[cataclysm-tiles.exe+0x144276f]), 
(libbacktrace: talk_effect_fun_t<dialogue>::set_teleport(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)::{lambda(dialogue const&)#1}::operator()(dialogue const&) const+0xbf@0x14144276f),
0x14144276f    src/npctalk.cpp:3962    talk_effect_fun_t<dialogue>::set_teleport(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)::{lambda(dialogue const&)#1}::operator()(dialogue const&) const

29

(dbghelp: @0x7ff7c330f701[cataclysm-tiles.exe+0x116f701]), 
(libbacktrace: talk_effect_t<dialogue>::apply(dialogue const&) const+0x211@0x14116f701),
0x14116f701    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_iterator.h:1038    __gnu_cxx::__normal_iterator<talk_effect_fun_t<dialogue> const*, std::vector<talk_effect_fun_t<dialogue>, std::allocator<talk_effect_fun_t<dialogue> > > >::operator++()
0x14116f701    src/npctalk.cpp:4037    talk_effect_t<dialogue>::apply(dialogue const&) const

30

(dbghelp: @0x7ff7c244dbcc[cataclysm-tiles.exe+0x2adbcc]), 
(libbacktrace: effect_on_condition::activate(dialogue&) const+0x38@0x1402adbcc),
0x1402adbcc    src/effect_on_condition.cpp:278    effect_on_condition::activate(dialogue&) const

31

(dbghelp: @0x7ff7c349e7fb[cataclysm-tiles.exe+0x12fe7fb]), 
(libbacktrace: std::_Function_handler<void (dialogue const&), talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}>::_M_invoke(std::_Any_data const&, dialogue const&)+0x3b@0x1412fe7fb),
0x1412fe7fb    src/npctalk.cpp:3492    talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}::operator()(dialogue const&) const
0x1412fe7fb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/invoke.h:61    void std::__invoke_impl<void, talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}&, dialogue const&>(std::__invoke_other, talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}&, dialogue const&)
0x1412fe7fb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/invoke.h:154    std::enable_if<std::__and_<std::is_void<void>, std::__is_invocable<talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}&, dialogue const&> >::value, void>::type std::__invoke_r<void, talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}&, dialogue const&>(talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}&, dialogue const&)
0x1412fe7fb    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/std_function.h:291    std::_Function_handler<void (dialogue const&), talk_effect_fun_t<dialogue>::set_run_eocs(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(dialogue const&)#1}>::_M_invoke(std::_Any_data const&, dialogue const&)

32

(dbghelp: @0x7ff7c330f701[cataclysm-tiles.exe+0x116f701]), 
(libbacktrace: talk_effect_t<dialogue>::apply(dialogue const&) const+0x211@0x14116f701),
0x14116f701    /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_iterator.h:1038    __gnu_cxx::__normal_iterator<talk_effect_fun_t<dialogue> const*, std::vector<talk_effect_fun_t<dialogue>, std::allocator<talk_effect_fun_t<dialogue> > > >::operator++()
0x14116f701    src/npctalk.cpp:4037    talk_effect_t<dialogue>::apply(dialogue const&) const

33

(dbghelp: @0x7ff7c244dbcc[cataclysm-tiles.exe+0x2adbcc]), 
(libbacktrace: effect_on_condition::activate(dialogue&) const+0x38@0x1402adbcc),
0x1402adbcc    src/effect_on_condition.cpp:278    effect_on_condition::activate(dialogue&) const

34

(dbghelp: @0x7ff7c257a11b[cataclysm-tiles.exe+0x3da11b]), 
(libbacktrace: eoc_examine_actor::call(Character&, tripoint const&) const+0x6f@0x1403da11b),
0x1403da11b    src/iexamine_actors.cpp:253    eoc_examine_actor::call(Character&, tripoint const&) const

35

(dbghelp: @0x7ff7c2500538[cataclysm-tiles.exe+0x360538]), 
(libbacktrace: game::examine(tripoint const&, bool)+0x682@0x140360538),
0x140360538    src/game.cpp:5648    game::examine(tripoint const&, bool)

36

(dbghelp: @0x7ff7c2500c70[cataclysm-tiles.exe+0x360c70]), 
(libbacktrace: game::examine(bool)+0x2f4@0x140360c70),
0x140360c70    src/game.cpp:5498    game::examine(bool)

37

(dbghelp: @0x7ff7c25321e6[cataclysm-tiles.exe+0x3921e6]), 
(libbacktrace: game::do_regular_action(action_id&, avatar&, cata::optional<tripoint> const&)+0x10d8@0x1403921e6),
0x1403921e6    src/handle_action.cpp:2091    game::do_regular_action(action_id&, avatar&, cata::optional<tripoint> const&)

38

(dbghelp: @0x7ff7c2537280[cataclysm-tiles.exe+0x397280]), 
(libbacktrace: game::handle_action()+0xb52@0x140397280),
0x140397280    src/handle_action.cpp:2969    game::handle_action()

39

(dbghelp: @0x7ff7c2422fbe[cataclysm-tiles.exe+0x282fbe]), 
(libbacktrace: do_turn()+0x631@0x140282fbe),
0x140282fbe    src/do_turn.cpp:726    do_turn()

40

(dbghelp: @0x7ff7c37a9706[cataclysm-tiles.exe+0x1609706]), 
(libbacktrace: main+0x1e80@0x141609706),
0x141609706    src/main.cpp:816    main

41

(dbghelp: @0x7ff7c21a13c1[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

42

(dbghelp: @0x7ff7c21a14d6[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

43

(dbghelp: BaseThreadInitThunk+0x14@0x7ffe8dcc7614[KERNEL32.DLL+0x17614]), 
(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),

44

(dbghelp: RtlUserThreadStart+0x21@0x7ffe8faa26a1[ntdll.dll+0x526a1]), 
(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),`
Semboflorin commented 1 year ago

Mods installed (other than preloaded) are no portal storms and undead people tileset.

TGWeaver commented 1 year ago

Segmentation faults are a result of underlying issues in the game's code, not the mod's. As the CDDA dev team has told me, a mod should not even be capable of causing segfaults. I recommend reporting this issue on the main CDDA github, since they'd know more about the problems here.