As I understand you have Message.cpp file like this https://github.com/freeorion/freeorion/ ... essage.cppOberlus wrote: ↑Tue Jun 11, 2019 6:06 am Following is, maybe, the first catch from ExtractGameStartMessageData. I can't assure it because it throws dozens of exceptions from start, all from libstdc++.so.6, and at some point I stopped calling bt after continuing, just hitting up arrow and return as if I was playing Bubble Bubble. And this is the first exception that appears when the multiplayer lobby shows up. It's also the one that crashes the game, so hopefully it's the right one.
Find attached the second half of the log with the changes from PR 2427 (if you need the first half let me know). But I'm sorry I failed to update to master first (I forgot that step, compiled with the PR and was too lazy to wait for a new compilation).Code: Select all
Thread 1 "freeorion" hit Catchpoint 1 (exception thrown), 0x00007ffff2c868bd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb) bt #0 0x00007ffff2c868bd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #1 0x00007ffff6e99c0d in ExtractGameStartMessageData (msg=..., single_player_game=@0x7fffffffc46e: false, empire_id=@0x7fffffffc488: 3, current_turn=@0x7fffffffc48c: 21, empires=..., universe=..., species=..., combat_logs=..., supply=..., players=std::map with 1 elements = {...}, orders=..., loaded_game_data=@0x7fffffffc46b: true, ui_data_available=@0x7fffffffc46c: true, ui_data=..., save_state_string_available=@0x7fffffffc46d: 127, save_state_string="", galaxy_setup_data=...) at /home/lucas/Projects/FreeOrion/freeorion/network/Message.cpp:893 #2 0x00000000007e4877 in WaitingForGameStart::react (this=0x38804e0, msg=...) at /home/lucas/Projects/FreeOrion/freeorion/client/human/HumanClientFSM.cpp:852 #3 0x00000000007ff675 in boost::statechart::custom_reaction<GameStart>::react<WaitingForGameStart, boost::statechart::event_base, void const*> (stt=..., evt=..., eventType=@0x7fffffffc718: 0x1840330 <boost::statechart::detail::id_holder<GameStart>::idProvider_>) at /usr/include/boost/statechart/custom_reaction.hpp:41 #4 0x00000000007fe866 in boost::statechart::simple_state<WaitingForGameStart, PlayingGame, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, m---Type <return> to continue, or q <return> to quit--- pl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::local_react_impl_non_empty::local_react_impl<boost::mpl::list<boost::statechart::custom_reaction<GameStart>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::statechart::simple_state<WaitingForGameStart, PlayingGame, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0> > (stt=..., evt=..., eventType=0x1840330 <boost::statechart::detail::id_holder<GameStart>::idProvider_>) at /usr/include/boost/statechart/simple_state.hpp:816 #5 0x00000000007fd7db in boost::statechart::simple_state<WaitingForGameStart, PlayingGame, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::local_react<boost::mpl::list<boost::statechart::custom_reaction<GameStart>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> > (this=0x38804e0, evt=..., eventType=0x1840330 <boost::statechart::detail::id_holder<GameStart>::idProvider_>) at /usr/include/boost/statechart/simple_state.hpp:851 ---Type <return> to continue, or q <return> to quit--- #6 0x00000000007fc393 in boost::statechart::simple_state<WaitingForGameStart, PlayingGame, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::react_impl (this=0x38804e0, evt=..., eventType=0x1840330 <boost::statechart::detail::id_holder<GameStart>::idProvider_>) at /usr/include/boost/statechart/simple_state.hpp:489 #7 0x00000000007a22cc in boost::statechart::detail::send_function<boost::statechart::detail::state_base<std::allocator<void>, boost::statechart::detail::rtti_policy>, boost::statechart::event_base, void const*>::operator() ( this=0x7fffffffc830) at /usr/include/boost/statechart/state_machine.hpp:87 #8 0x0000000000799247 in boost::statechart::null_exception_translator::operator()<boost::statechart::detail::send_function<boost::statechart::detail::state_base<std::allocator<void>, boost::statechart::detail::rtti_policy>, boost::statechart::event_base, void const*>, boost::statechart::state_machine<HumanClientFSM, IntroMenu, std::allocator<void>, boost::statechart::null_exception_translator>::exception_event_handler> (this=0x1af5d40, action=...) at /usr/include/boost/statechart/null_exception_translator.hpp:33 #9 0x000000000078ff7e in boost::statechart::state_machine<HumanClientFSM, IntroMenu, std::allocator<void>, boost::statechart::null_exception_translator>::send_event (this=0x1af5cd0, evt=...) at /usr/include/boost/statechart/state_machine.hpp:885 #10 0x000000000078eae5 in boost::statechart::state_machine<HumanClientFSM, Intro---Type <return> to continue, or q <return> to quit--- Menu, std::allocator<void>, boost::statechart::null_exception_translator>::process_queued_events (this=0x1af5cd0) at /usr/include/boost/statechart/state_machine.hpp:910 #11 0x0000000000788187 in boost::statechart::state_machine<HumanClientFSM, IntroMenu, std::allocator<void>, boost::statechart::null_exception_translator>::process_event (this=0x1af5cd0, evt=...) at /usr/include/boost/statechart/state_machine.hpp:280 #12 0x0000000000774bac in HumanClientApp::HandleMessage (this=0x7fffffffcd50, msg=...) at /home/lucas/Projects/FreeOrion/freeorion/client/human/HumanClientApp.cpp:989 #13 0x00000000007745f0 in HumanClientApp::HandleSystemEvents ( this=0x7fffffffcd50) at /home/lucas/Projects/FreeOrion/freeorion/client/human/HumanClientApp.cpp:967 #14 0x00007ffff4127514 in GG::ModalEventPump::operator() (this=0x7fffffffcb70) at /home/lucas/Projects/FreeOrion/freeorion/GG/src/EventPump.cpp:113 #15 0x00007ffff5c0eb4c in GG::SDLGUI::Run (this=0x7fffffffd968) at /home/lucas/Projects/FreeOrion/freeorion/GG/src/SDL/SDLGUI.cpp:877 #16 0x00007ffff419795f in GG::GUI::operator() (this=0x7fffffffd968) at /home/lucas/Projects/FreeOrion/freeorion/GG/src/GUI.cpp:1181 #17 0x00007ffff5c0d94a in GG::SDLGUI::operator() (this=0x7fffffffd968) at /home/lucas/Projects/FreeOrion/freeorion/GG/src/SDL/SDLGUI.cpp:527 ---Type <return> to continue, or q <return> to quit--- #18 0x0000000000743f5c in mainSetupAndRun () at /home/lucas/Projects/FreeOrion/freeorion/client/human/chmain.cpp:300 #19 0x000000000073f9cf in main (argc=1, argv=0x7fffffffdd18) at /home/lucas/Projects/FreeOrion/freeorion/client/human/chmain.cpp:104 (gdb) c Continuing. terminate called after throwing an instance of 'std::exception' what(): std::exception Thread 1 "freeorion" received signal SIGABRT, Aborted. 0x00007ffff2345428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb)
You didn't catch real exception only rethrowed. Nonetheless culprit is found and it is a UI data. I'll look if there some inconsistency in UI data serialization/deserialization but I think it better to move it back and allow to fail.
Edit: Could you open issue and attach there logs and stacktraces?