Wargus / stratagus

The Stratagus strategy game engine
GNU General Public License v2.0
631 stars 120 forks source link

Crash on end of mission. Backtrace #686

Open MamiyaOtaru opened 6 months ago

MamiyaOtaru commented 6 months ago

Campaign. Complete objectives, and crash. Happened several times (but inconsistent: not always, and not always on the same mission). Ran in GDB, backtrace is below

game ends double free or corruption (!prev)

Thread 1 "stratagus-dbg" received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=549618967680, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. (gdb) bt

0 __pthread_kill_implementation (threadid=549618967680, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44

1 0x0000007ff76c0a64 in __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78

2 0x0000007ff767a76c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26

3 0x0000007ff76674bc in __GI_abort () at ./stdlib/abort.c:79

4 0x0000007ff76b4aec in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ff77970c8 "%s\n") at ../sysdeps/posix/libc_fatal.c:155

5 0x0000007ff76cae6c in malloc_printerr (str=str@entry=0x7ff7792428 "double free or corruption (!prev)") at ./malloc/malloc.c:5660

6 0x0000007ff76cce98 in _int_free (av=0x7ff77e0b30 , p=p@entry=0x555ae75cc0, have_lock=, have_lock@entry=0)

at ./malloc/malloc.c:4587

7 0x0000007ff76cf72c in __GI___libc_free (mem=) at ./malloc/malloc.c:3385

8 0x000000555560f8d4 in std::__new_allocator::deallocate(CVariable*, unsigned long) (this=0x555ae898c8, p=0x555ae75cd0, n=44)

at /usr/include/c++/12/bits/new_allocator.h:158

9 0x000000555560c71c in std::allocator_traits<std::allocator >::deallocate(std::allocator&, CVariable*, unsigned long)

(__a=..., __p=0x555ae75cd0, __n=44) at /usr/include/c++/12/bits/alloc_traits.h:496

10 0x0000005555608b90 in std::_Vector_base<CVariable, std::allocator >::_M_deallocate(CVariable*, unsigned long)

(this=0x555ae898c8, __p=0x555ae75cd0, __n=44) at /usr/include/c++/12/bits/stl_vector.h:387

11 0x0000005555605380 in std::_Vector_base<CVariable, std::allocator >::~_Vector_base() (this=0x555ae898c8, __in_chrg=)

at /usr/include/c++/12/bits/stl_vector.h:366

12 0x00000055556053d4 in std::vector<CVariable, std::allocator >::~vector() (this=0x555ae898c8, __in_chrg=)

at /usr/include/c++/12/bits/stl_vector.h:733

13 0x0000005555639ff8 in CUnit::~CUnit() (this=0x555ae88fa0, __in_chrg=) at /home/pi/src/stratagus/src/include/unit.h:143

14 0x00000055556391a4 in CUnitManager::Init() (this=0x5555dd4710) at /home/pi/src/stratagus/src/unit/unit_manager.cpp:66

15 0x0000005555622ba8 in CleanUnits() () at /home/pi/src/stratagus/src/unit/unit.cpp:3436

16 0x0000005555700d34 in CleanGame() () at /home/pi/src/stratagus/src/game/game.cpp:1090

17 0x00000055556fc8ac in StartMap(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool)

(filename="campaigns/human/level04h.smp", clean=true) at /home/pi/src/stratagus/src/game/game.cpp:151

18 0x0000005555839ec4 in tolua_stratagus_StartMap00(lua_State*) (tolua_S=0x5555d1eb30) at /home/pi/src/stratagus/build/tolua.cpp:1079

19 0x00000055558c1300 in luaD_precall ()

20 0x00000055558cc6b0 in luaV_execute ()

21 0x00000055558c18f0 in luaD_call ()

22 0x00000055558c0d04 in luaD_rawrunprotected ()

23 0x00000055558c1bc0 in luaD_pcall ()

24 0x00000055558bec40 in lua_pcall ()

25 0x00000055557e9df8 in LuaCall(lua_State*, int, int, int, bool) (L=0x5555d1eb30, narg=1, nresults=0, base=3, exitOnError=false)

at /home/pi/src/stratagus/src/stratagus/script.cpp:199

26 0x00000055557df55c in LuaCallbackImpl::run(int) (this=0x5557495838, results=0) at /home/pi/src/stratagus/src/stratagus/luacallback.cpp:182

27 0x00000055555eccf0 in LuaCallbackImpl::call<, std::cxx11::basic_string<char, std::char_traits, std::allocator > >(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) (this=0x5557495838) at /home/pi/src/stratagus/src/include/luacallback.h:111

28 0x00000055555e1548 in LuaActionListener::action(gcn::ActionEvent const&) (this=0x5557495820, event=...) at /home/pi/src/stratagus/src/ui/widgets.cpp:277

29 0x00000055558f5dbc in gcn::Widget::distributeActionEvent() (this=0x555748a0e0) at /home/pi/src/stratagus/third-party/guichan/src/widget.cpp:712

30 0x00000055558fd1e8 in gcn::Button::mouseReleased(gcn::MouseEvent&) (this=0x555748a0e0, mouseEvent=...)

at /home/pi/src/stratagus/third-party/guichan/src/widgets/button.cpp:244

31 0x00000055558e6e60 in gcn::Gui::distributeMouseEvent(gcn::Widget*, int, int, int, int, bool, bool)

(this=0x5556f7cf00, source=0x555748a0e0, type=2, button=1, x=638, y=519, force=false, toSourceOnly=false)
at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:658

32 0x00000055558e660c in gcn::Gui::handleMouseReleased(gcn::MouseInput const&) (this=0x5556f7cf00, mouseInput=...)

at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:500

33 0x00000055558e5320 in gcn::Gui::handleMouseInput() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:205

34 0x00000055558e4dac in gcn::Gui::logic() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:146

35 0x00000055555e1388 in handleInput(SDL_Event const*) (event=0x0) at /home/pi/src/stratagus/src/ui/widgets.cpp:237

36 0x00000055556717a8 in WaitEventsOneFrame() () at /home/pi/src/stratagus/src/video/sdl.cpp:762

37 0x00000055555eb9dc in MenuScreen::run(bool) (this=0x5556377fc0, loop=true) at /home/pi/src/stratagus/src/ui/widgets.cpp:2642

38 0x0000005555865d4c in tolua_stratagus_CMenuScreen_run00(lua_State*) (tolua_S=0x5555d1eb30) at /home/pi/src/stratagus/build/tolua.cpp:20201

39 0x00000055558c1300 in luaD_precall ()

40 0x00000055558cc6b0 in luaV_execute ()

41 0x00000055558c18f0 in luaD_call ()

42 0x00000055558c0d04 in luaD_rawrunprotected ()

43 0x00000055558c1bc0 in luaD_pcall ()

44 0x00000055558bec40 in lua_pcall ()

45 0x00000055557e9df8 in LuaCall(lua_State*, int, int, int, bool) (L=0x5555d1eb30, narg=0, nresults=0, base=3, exitOnError=true)

at /home/pi/src/stratagus/src/stratagus/script.cpp:199

46 0x00000055557e9d90 in LuaCall(int, int, bool) (narg=0, clear=1, exitOnError=true) at /home/pi/src/stratagus/src/stratagus/script.cpp:171

47 0x00000055557ea3f8 in LuaLoadFile(std::filesystem::cxx11::path const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool) (file=filesystem::path "scripts/lists/campaigns/Tides of Darkness (Alliance)" = {...}, strArg="", exitOnError=true)

at /home/pi/src/stratagus/src/stratagus/script.cpp:268

48 0x00000055557ea664 in CclLoad(lua_State*) (l=0x5555d1eb30) at /home/pi/src/stratagus/src/stratagus/script.cpp:305

49 0x00000055558c1300 in luaD_precall ()

50 0x00000055558cc6b0 in luaV_execute ()

51 0x00000055558c18f0 in luaD_call ()

52 0x00000055558c0d04 in luaD_rawrunprotected ()

53 0x00000055558c1bc0 in luaD_pcall ()

54 0x00000055558bec40 in lua_pcall ()

55 0x00000055557e9df8 in LuaCall(lua_State*, int, int, int, bool) (L=0x5555d1eb30, narg=1, nresults=0, base=14, exitOnError=false)

at /home/pi/src/stratagus/src/stratagus/script.cpp:199

56 0x00000055557df55c in LuaCallbackImpl::run(int) (this=0x55574d4488, results=0) at /home/pi/src/stratagus/src/stratagus/luacallback.cpp:182

57 0x00000055555eccf0 in LuaCallbackImpl::call<, std::cxx11::basic_string<char, std::char_traits, std::allocator > >(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) (this=0x55574d4488) at /home/pi/src/stratagus/src/include/luacallback.h:111

58 0x00000055555e1548 in LuaActionListener::action(gcn::ActionEvent const&) (this=0x55574d4470, event=...) at /home/pi/src/stratagus/src/ui/widgets.cpp:277

59 0x00000055558f5dbc in gcn::Widget::distributeActionEvent() (this=0x5557484530) at /home/pi/src/stratagus/third-party/guichan/src/widget.cpp:712

60 0x00000055558fd1e8 in gcn::Button::mouseReleased(gcn::MouseEvent&) (this=0x5557484530, mouseEvent=...)

at /home/pi/src/stratagus/third-party/guichan/src/widgets/button.cpp:244

61 0x00000055558e6e60 in gcn::Gui::distributeMouseEvent(gcn::Widget*, int, int, int, int, bool, bool)

(this=0x5556f7cf00, source=0x5557484530, type=2, button=1, x=645, y=340, force=false, toSourceOnly=false)
at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:658

62 0x00000055558e660c in gcn::Gui::handleMouseReleased(gcn::MouseInput const&) (this=0x5556f7cf00, mouseInput=...)

at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:500

63 0x00000055558e5320 in gcn::Gui::handleMouseInput() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:205

64 0x00000055558e4dac in gcn::Gui::logic() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:146

65 0x00000055555e1388 in handleInput(SDL_Event const*) (event=0x0) at /home/pi/src/stratagus/src/ui/widgets.cpp:237

66 0x00000055556717a8 in WaitEventsOneFrame() () at /home/pi/src/stratagus/src/video/sdl.cpp:762

67 0x00000055555eb9dc in MenuScreen::run(bool) (this=0x55563bced0, loop=true) at /home/pi/src/stratagus/src/ui/widgets.cpp:2642

68 0x0000005555865d4c in tolua_stratagus_CMenuScreen_run00(lua_State*) (tolua_S=0x5555d1eb30) at /home/pi/src/stratagus/build/tolua.cpp:20201

69 0x00000055558c1300 in luaD_precall ()

70 0x00000055558cc6b0 in luaV_execute ()

71 0x00000055558c18f0 in luaD_call ()

72 0x00000055558c0d04 in luaD_rawrunprotected ()

73 0x00000055558c1bc0 in luaD_pcall ()

74 0x00000055558bec40 in lua_pcall ()

75 0x00000055557e9df8 in LuaCall(lua_State*, int, int, int, bool) (L=0x5555d1eb30, narg=1, nresults=0, base=5, exitOnError=false)

at /home/pi/src/stratagus/src/stratagus/script.cpp:199

76 0x00000055557df55c in LuaCallbackImpl::run(int) (this=0x555746bb58, results=0) at /home/pi/src/stratagus/src/stratagus/luacallback.cpp:182

77 0x00000055555eccf0 in LuaCallbackImpl::call<, std::cxx11::basic_string<char, std::char_traits, std::allocator > >(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) (this=0x555746bb58) at /home/pi/src/stratagus/src/include/luacallback.h:111

78 0x00000055555e1548 in LuaActionListener::action(gcn::ActionEvent const&) (this=0x555746bb40, event=...) at /home/pi/src/stratagus/src/ui/widgets.cpp:277

79 0x00000055558f5dbc in gcn::Widget::distributeActionEvent() (this=0x5557467e20) at /home/pi/src/stratagus/third-party/guichan/src/widget.cpp:712

80 0x00000055558fd1e8 in gcn::Button::mouseReleased(gcn::MouseEvent&) (this=0x5557467e20, mouseEvent=...)

at /home/pi/src/stratagus/third-party/guichan/src/widgets/button.cpp:244

81 0x00000055558e6e60 in gcn::Gui::distributeMouseEvent(gcn::Widget*, int, int, int, int, bool, bool)

(this=0x5556f7cf00, source=0x5557467e20, type=2, button=1, x=644, y=373, force=false, toSourceOnly=false)
at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:658

82 0x00000055558e660c in gcn::Gui::handleMouseReleased(gcn::MouseInput const&) (this=0x5556f7cf00, mouseInput=...)

at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:500

83 0x00000055558e5320 in gcn::Gui::handleMouseInput() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:205

84 0x00000055558e4dac in gcn::Gui::logic() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:146

85 0x00000055555e1388 in handleInput(SDL_Event const*) (event=0x0) at /home/pi/src/stratagus/src/ui/widgets.cpp:237

86 0x00000055556717a8 in WaitEventsOneFrame() () at /home/pi/src/stratagus/src/video/sdl.cpp:762

87 0x00000055555eb9dc in MenuScreen::run(bool) (this=0x55563bc6c0, loop=true) at /home/pi/src/stratagus/src/ui/widgets.cpp:2642

88 0x0000005555865d4c in tolua_stratagus_CMenuScreen_run00(lua_State*) (tolua_S=0x5555d1eb30) at /home/pi/src/stratagus/build/tolua.cpp:20201

89 0x00000055558c1300 in luaD_precall ()

90 0x00000055558cc5f4 in luaV_execute ()

91 0x00000055558c18f0 in luaD_call ()

92 0x00000055558c0d04 in luaD_rawrunprotected ()

93 0x00000055558c1bc0 in luaD_pcall ()

94 0x00000055558bec40 in lua_pcall ()

95 0x00000055557e9df8 in LuaCall(lua_State*, int, int, int, bool) (L=0x5555d1eb30, narg=1, nresults=0, base=121, exitOnError=false)

at /home/pi/src/stratagus/src/stratagus/script.cpp:199

96 0x00000055557df55c in LuaCallbackImpl::run(int) (this=0x555744c408, results=0) at /home/pi/src/stratagus/src/stratagus/luacallback.cpp:182

97 0x00000055555eccf0 in LuaCallbackImpl::call<, std::cxx11::basic_string<char, std::char_traits, std::allocator > >(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) (this=0x555744c408) at /home/pi/src/stratagus/src/include/luacallback.h:111

98 0x00000055555e1548 in LuaActionListener::action(gcn::ActionEvent const&) (this=0x555744c3f0, event=...) at /home/pi/src/stratagus/src/ui/widgets.cpp:277

99 0x00000055558f5dbc in gcn::Widget::distributeActionEvent() (this=0x555729bfa0) at /home/pi/src/stratagus/third-party/guichan/src/widget.cpp:712

100 0x00000055558fd1e8 in gcn::Button::mouseReleased(gcn::MouseEvent&) (this=0x555729bfa0, mouseEvent=...)

at /home/pi/src/stratagus/third-party/guichan/src/widgets/button.cpp:244

101 0x00000055558e6e60 in gcn::Gui::distributeMouseEvent(gcn::Widget*, int, int, int, int, bool, bool)

(this=0x5556f7cf00, source=0x555729bfa0, type=2, button=1, x=648, y=234, force=false, toSourceOnly=false)
at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:658

102 0x00000055558e660c in gcn::Gui::handleMouseReleased(gcn::MouseInput const&) (this=0x5556f7cf00, mouseInput=...)

at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:500

103 0x00000055558e5320 in gcn::Gui::handleMouseInput() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:205

104 0x00000055558e4dac in gcn::Gui::logic() (this=0x5556f7cf00) at /home/pi/src/stratagus/third-party/guichan/src/gui.cpp:146

105 0x00000055555e1388 in handleInput(SDL_Event const*) (event=0x0) at /home/pi/src/stratagus/src/ui/widgets.cpp:237

106 0x00000055556717a8 in WaitEventsOneFrame() () at /home/pi/src/stratagus/src/video/sdl.cpp:762

107 0x00000055555eb9dc in MenuScreen::run(bool) (this=0x55563b4d40, loop=true) at /home/pi/src/stratagus/src/ui/widgets.cpp:2642

108 0x0000005555865d4c in tolua_stratagus_CMenuScreen_run00(lua_State*) (tolua_S=0x5555d1eb30) at /home/pi/src/stratagus/build/tolua.cpp:20201

109 0x00000055558c1300 in luaD_precall ()

110 0x00000055558cc5f4 in luaV_execute ()

111 0x00000055558c18f0 in luaD_call ()

112 0x00000055558c0d04 in luaD_rawrunprotected ()

113 0x00000055558c1bc0 in luaD_pcall ()

114 0x00000055558bec40 in lua_pcall ()

115 0x00000055557e9df8 in LuaCall(lua_State*, int, int, int, bool) (L=0x5555d1eb30, narg=0, nresults=0, base=2, exitOnError=true)

at /home/pi/src/stratagus/src/stratagus/script.cpp:199

116 0x00000055557e9d90 in LuaCall(int, int, bool) (narg=0, clear=1, exitOnError=true) at /home/pi/src/stratagus/src/stratagus/script.cpp:171

117 0x00000055557ea3f8 in LuaLoadFile(std::filesystem::cxx11::path const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool) (file=filesystem::path "scripts/guichan.lua" = {...}, strArg="", exitOnError=true) at /home/pi/src/stratagus/src/stratagus/script.cpp:268

118 0x000000555558b720 in MenuLoop() () at /home/pi/src/stratagus/src/stratagus/stratagus.cpp:318

119 0x000000555558c7b8 in stratagusMain(int, char**) (argc=1, argv=0x7fffffef58) at /home/pi/src/stratagus/src/stratagus/stratagus.cpp:791

120 0x000000555558b4f0 in main(int, char**) (argc=1, argv=0x7fffffef58) at /home/pi/src/stratagus/src/stratagus/main.cpp:38