Multiplayer slow game server

For topics that do not fit in another sub-forum.

Moderators: Oberlus, Oberlus

Message
Author
o01eg
Programmer
Posts: 426
Joined: Sat Dec 10, 2011 5:46 am

Re: Multiplayer slow game server

#121 Post by o01eg » Tue Jun 11, 2019 6:30 am

Oberlus 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.

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)
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).
As I understand you have Message.cpp file like this https://github.com/freeorion/freeorion/ ... essage.cpp
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?
Gentoo Linux x64, gcc-8.3, boost-1.65.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to slow multiplayer game at freeorion-lt.dedyn.io. Version 2019-07-30.587d1c0.
Donates are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 1447
Joined: Mon Apr 10, 2017 4:25 pm

Re: Multiplayer slow game server

#122 Post by Oberlus » Tue Jun 11, 2019 8:57 am

o01eg wrote:
Tue Jun 11, 2019 6:30 am
Could you open issue and attach there logs and stacktraces?
On my way. I've done a hard reset from master, checked out that the Message.cpp is as it must be (with the six TraceLogger calls), and I'm compiling now.
You didn't catch real exception only rethrowed.
Gonna try again just for the sake of it.


Edit: New issue open: https://github.com/freeorion/freeorion/issues/2475

User avatar
Oberlus
Cosmic Dragon
Posts: 1447
Joined: Mon Apr 10, 2017 4:25 pm

Re: Multiplayer slow game server

#123 Post by Oberlus » Tue Jun 11, 2019 10:20 am

o01eg in github wrote:It could be caused either boost serialization 1.58 - 1.65 incompatibility
OK, so to avoid the linux crash I just need to upgrade mi Ubuntu to 18.04 or do some tinkering to update libboost-dev to something 1.65. Good to know.

Now I'll have to look into debugging the Windows client crashes that are not supposed to be related to the libboost-dev issue. I cannot compile in Windows, what could The Silent One or I do to help hunt down this issuing orders bug?

User avatar
Oberlus
Cosmic Dragon
Posts: 1447
Joined: Mon Apr 10, 2017 4:25 pm

Re: Multiplayer slow game server

#124 Post by Oberlus » Tue Jun 11, 2019 1:46 pm

I've downloaded boost 1.65.1 and installed it like this:

Code: Select all

./bootstrap.sh
./b2
That didn't let cmake see the library, so then I did

Code: Select all

sudo ./b2 install
But that still does not allow my cmake to see the newer boost installation, which is in /usr/local/include/boost (instead of /usr/include/boot)

So I found out I could specify the library path to cmake like this, but that got me plenty of warnings:

Code: Select all

freeorion-build$ cmake -DCMAKE_BUILD_TYPE=Release -DBOOST_ROOT:PATHNAME=/usr/local/boost ../freeorion
-- Build type CMAKE_BUILD_TYPE set to Release
-- Use CCache for Unix Makefiles called with: ccache program  
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:236 (find_package)


-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   date_time
--   filesystem
--   iostreams
--   locale
--   log
--   log_setup
--   regex
--   serialization
--   system
--   thread
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:255 (find_package)


-- Could NOT find Boost
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:259 (find_package)


-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   python-py27
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  GG/CMakeLists.txt:95 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  GG/CMakeLists.txt:95 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  GG/CMakeLists.txt:95 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  GG/CMakeLists.txt:95 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  GG/CMakeLists.txt:95 (find_package)


CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
  Imported targets not available for Boost version 106501
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
  GG/CMakeLists.txt:95 (find_package)


-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   date_time
--   filesystem
--   regex
--   system
--   thread
--   log
-- Could NOT find cppcheck (missing:  CPPCHECK_EXECUTABLE) 
-- Could NOT find pycodestyle (missing:  PYCODESTYLE_EXECUTABLE) 
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lucas/Projects/FreeOrion/freeorion-build
It's compiling right now, I'm crossing fingers.

But, is there a better way to make cmake aware of the alternative boost installation?

Edit: compilation failed, so I certainly need a better way.

o01eg
Programmer
Posts: 426
Joined: Sat Dec 10, 2011 5:46 am

Re: Multiplayer slow game server

#125 Post by o01eg » Tue Jun 11, 2019 3:13 pm

The game FO0001 ceased. The server is still running, and I've opened server so anyone could connect to the server and try to catch bug.

The server asks for password but accepts any string. Players name are:
Magnate
o01eg
Oberlus
TheSilentOne
I've also attached save files of last turns.

I will say when I'll start to prepare next game. At least https://github.com/freeorion/freeorion/issues/2475 is mandatory to be fixed.
Attachments
FreeOrion_0019_20190609_160003.xml
(195.6 KiB) Downloaded 11 times
FreeOrion_0016_20190601_000000.xml
(186.75 KiB) Downloaded 9 times
FreeOrion_0021_20190611_140000.xml
(199.5 KiB) Downloaded 11 times
Gentoo Linux x64, gcc-8.3, boost-1.65.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to slow multiplayer game at freeorion-lt.dedyn.io. Version 2019-07-30.587d1c0.
Donates are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
The Silent One
Graphics
Posts: 947
Joined: Tue Jul 01, 2003 8:27 pm

Re: Multiplayer slow game server

#126 Post by The Silent One » Tue Jun 11, 2019 5:52 pm

Oberlus wrote:
Tue Jun 11, 2019 10:20 am
..., what could The Silent One or I do to help hunt down this issuing orders bug?
I'm really sorry I haven't been more help yet to hunt down this bug; I probably will have some time on thursday, then I could try to use the MSCV debugger. Beware though that I have little to no experience with that.
If I provided any images, code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0.

o01eg
Programmer
Posts: 426
Joined: Sat Dec 10, 2011 5:46 am

Re: Multiplayer slow game server

#127 Post by o01eg » Tue Jun 11, 2019 7:06 pm

The Silent One wrote:
Tue Jun 11, 2019 5:52 pm
Oberlus wrote:
Tue Jun 11, 2019 10:20 am
..., what could The Silent One or I do to help hunt down this issuing orders bug?
I'm really sorry I haven't been more help yet to hunt down this bug; I probably will have some time on thursday, then I could try to use the MSCV debugger. Beware though that I have little to no experience with that.
I've just tried to login as your empire and freeorion eat 5 GB RAM on Windows. I suppose it is a cause your "bad allocation" error. After map window appeared memory back to 2 GB.
Gentoo Linux x64, gcc-8.3, boost-1.65.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to slow multiplayer game at freeorion-lt.dedyn.io. Version 2019-07-30.587d1c0.
Donates are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

Magnate
Space Kraken
Posts: 136
Joined: Sat Nov 08, 2014 3:44 pm

Re: Multiplayer slow game server

#128 Post by Magnate » Wed Jun 12, 2019 9:10 pm

I've been using bbb72e1 since it came out with no problems, but tonight I have an error:

"Server cannot properly read messages from your client, most likely due to incompatible game versions."


Also, we appear to have run two turns since 4pm yesterday - I logged in just now to find turn 23, but yesterday I submitted orders for turn 22, which seems to have been and gone. This is a problem because my orders for turn 23 were important, so I don't want to miss them!

Can we restart at turn 22, and can someone tell me which version to upgrade to?

Thanks.

P.S. Although I can log in and see turn 23, it gives me that error every time I click the submit orders button, so I cannot submit even if you want to carry on without restarting...

User avatar
Oberlus
Cosmic Dragon
Posts: 1447
Joined: Mon Apr 10, 2017 4:25 pm

Re: Multiplayer slow game server

#129 Post by Oberlus » Wed Jun 12, 2019 9:17 pm

Magnate wrote:
Wed Jun 12, 2019 9:10 pm
Can we restart at turn 22, and can someone tell me which version to upgrade to?
Game's been stopped, some incompatibility issues need to be fixed.
o01eg wrote:
Tue Jun 11, 2019 3:13 pm
The game FO0001 ceased. The server is still running, and I've opened server so anyone could connect to the server and try to catch bug.
[...]
I will say when I'll start to prepare next game. At least https://github.com/freeorion/freeorion/issues/2475 is mandatory to be fixed.

Magnate
Space Kraken
Posts: 136
Joined: Sat Nov 08, 2014 3:44 pm

Re: Multiplayer slow game server

#130 Post by Magnate » Wed Jun 12, 2019 9:21 pm

Ah ok - is that as in stopped permanently, or paused pending fixes?

Ophiuchus
Programmer
Posts: 934
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Multiplayer slow game server

#131 Post by Ophiuchus » Wed Jun 12, 2019 9:53 pm

Just so you guys know, i just connected successfully to the server using snaps from last weeks (as o01eg) and this week (as TS1).

Edit1: And using this weeks build as Oberlus it crashed:

Code: Select all

$ freeorion
terminate called after throwing an instance of 'std::exception'
  what():  std::exception
Aborted (Speicherabzug geschrieben)
freeorion.log

Code: Select all

00:07:51.885724 [debug] client : Message.cpp:855 : ExtractGameStartMessage empire deserialization time 6.468
00:07:51.886527 [debug] client : Universe.cpp:161 : Reset id allocators with highest object id = -1 and highest design id = -1
00:07:51.886562 [debug] client : SerializeUniverse.cpp:84 : Universe::serialize : deserializing universe width: 566.827
00:07:51.890632 [debug] client : SerializeUniverse.cpp:89 : Universe::serialize : deserializing 0 ship designs
00:07:51.892042 [debug] client : SerializeUniverse.cpp:98 : Universe::serialize : deserializing empire object visibility for 1, 1, 1, 1 empires
00:07:51.903621 [debug] client : SerializeUniverse.cpp:113 : Universe::serialize : deserializing 135 objects
00:07:51.903682 [debug] client : SerializeUniverse.cpp:119 : Universe::serialize : deserializing 26 destroyed object ids
00:07:51.903740 [debug] client : SerializeUniverse.cpp:126 : Universe::serialize : deserializing empire known objects for 0 empires
00:07:51.903749 [debug] client : SerializeUniverse.cpp:132 : Universe::serialize : deserializing id allocator version = 1
00:07:51.903757 [debug] IDallocator : IDAllocator.cpp:288 : Deserialize IDAllocator()  server id = -1 empire id = 3
00:07:51.903795 [debug] IDallocator : IDAllocator.cpp:307 : Deserialized [empire = 3 next id = 2247, ]
00:07:51.903805 [debug] IDallocator : IDAllocator.cpp:288 : Deserialize IDAllocator()  server id = -1 empire id = 3
00:07:51.903829 [debug] IDallocator : IDAllocator.cpp:307 : Deserialized [empire = 3 next id = 2279, ]
00:07:51.903841 [debug] client : SerializeUniverse.cpp:161 : Universe::serialize : deserializing 0 types of statistic
00:07:51.903848 [debug] client : SerializeUniverse.cpp:164 : Universe::serialize : deserializing done
00:07:51.903853 [debug] client : SerializeUniverse.cpp:175 : Universe::serialize : updating empires' latest known object destruction states
00:07:51.903874 [debug] client : SerializeUniverse.cpp:184 : Universe::serialize done
00:07:51.903883 [debug] client : Message.cpp:864 : ExtractGameStartMessage universe deserialization time 17.186
00:07:51.904238 [error] client : Message.cpp:890 : ExtractGameStartMessageData(...) failed!  Message probably long, so not outputting to log.
Error: input stream error
(END)
And the boost library seems to be 1.58; e.g.: libboost_thread.so.1.58.0
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Furthermore, I propse... we should default to four combat rounds instead of three ...for the good of playerkind.

o01eg
Programmer
Posts: 426
Joined: Sat Dec 10, 2011 5:46 am

Re: Multiplayer slow game server

#132 Post by o01eg » Thu Jun 13, 2019 4:30 am

Magnate wrote:
Wed Jun 12, 2019 9:21 pm
Ah ok - is that as in stopped permanently, or paused pending fixes?
The game was fully disclosed so I'll start new game. The server is open to catch bugs.
Gentoo Linux x64, gcc-8.3, boost-1.65.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to slow multiplayer game at freeorion-lt.dedyn.io. Version 2019-07-30.587d1c0.
Donates are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

o01eg
Programmer
Posts: 426
Joined: Sat Dec 10, 2011 5:46 am

Re: Multiplayer slow game server

#133 Post by o01eg » Thu Jun 13, 2019 6:18 am

Magnate wrote:
Wed Jun 12, 2019 9:10 pm
I've been using bbb72e1 since it came out with no problems, but tonight I have an error:

"Server cannot properly read messages from your client, most likely due to incompatible game versions."
I've got this error in log:

Code: Select all

2019-06-12 21:06:34.862501 [trace] network : ServerNetworking.cpp:301 : Server received message from player id: 1 of type Turn Orders and size 11505
2019-06-12 21:06:34.862748 [debug] server : Message.cpp:941 : deserializing orders
2019-06-12 21:06:34.862931 [debug] server : Message.cpp:943 : checking for ui data
2019-06-12 21:06:34.862955 [debug] server : Message.cpp:946 : deserializing UI data
2019-06-12 21:06:34.872078 [error] server : Message.cpp:957 : ExtractTurnOrdersMessageData(const Message& msg, ...) failed! Message probably long, so not outputting to log.
Error: std::bad_alloc
Same issue with UI data.
Gentoo Linux x64, gcc-8.3, boost-1.65.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to slow multiplayer game at freeorion-lt.dedyn.io. Version 2019-07-30.587d1c0.
Donates are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

o01eg
Programmer
Posts: 426
Joined: Sat Dec 10, 2011 5:46 am

Re: Multiplayer slow game server

#134 Post by o01eg » Thu Jun 13, 2019 6:55 am

The Silent One wrote:
Mon Jun 03, 2019 6:05 am
When logging in into multiplayer, I see the lobby window, then the game crashes. Don't have an idea what's going on, log is attached.
Could you also try to enable trace log?
Gentoo Linux x64, gcc-8.3, boost-1.65.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to slow multiplayer game at freeorion-lt.dedyn.io. Version 2019-07-30.587d1c0.
Donates are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
The Silent One
Graphics
Posts: 947
Joined: Tue Jul 01, 2003 8:27 pm

Re: Multiplayer slow game server

#135 Post by The Silent One » Thu Jun 13, 2019 8:57 am

o01eg wrote:
Thu Jun 13, 2019 6:55 am
Could you also try to enable trace log?
Here is the last couple of lines from the log (log itself is ~80mb):

Code: Select all

10:52:47.570459 [debug] client : TechTreeWnd.cpp:1427 : Tech Tree Layout Done
10:52:47.570459 [debug] client : TechTreeWnd.cpp:1899 : Tech List Box Populating
10:52:48.190018 [debug] client : TechTreeWnd.cpp:1914 : Tech List Box Populating Done,  Creation time = 619ms
10:52:48.190018 [debug] client : TechTreeWnd.cpp:1842 : Tech List Box Updating
10:52:48.209991 [debug] client : TechTreeWnd.cpp:1895 : Tech List Box Updating Done, Insertion time = 1 ms
10:52:48.209991 [debug] client : ResearchWnd.cpp:574 : ResearchWnd::UpdateQueue()
10:52:48.210989 [debug] client : DesignWnd.cpp:1110 : ShipDesignManager initializing.
10:52:48.337664 [debug] client : HumanClientApp.cpp:387 : HumanClientApp exited cleanly.
10:52:48.354606 [debug] client : Universe.cpp:161 : Reset id allocators with highest object id = -1 and highest design id = 370
10:52:48.354606 [error] client : chmain.cpp:316 : main() caught exception(std::exception): bad allocation
If I provided any images, code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0.

Post Reply