Author Topic: [not a bug] r3412: One clients' game starts, but he cannot play  (Read 959 times)

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
We had a weird situation today. Jammy was hosting r3412 on his Windows system today. Pizza and I joined as clients, all of us were on 3412 (Pizza and I were both on Linux). When the game started, everything looked normal. Pizza and Jammy were able to play just fine, just on my end any command I gave was not carried out, my units were just standing there ion their start positions, and on my screen, this was the same for the other players - nobody was moving at all. For Jammy and Pizza, however, the game took playce and on their screens all of us were playing - apparently my team was played by CPU, but there was no message indicating this. For them all of us lost the game because we were run over by CPU. For me, we were just all standing around and the CPU never attacked.

So I left this game and got to see a stats screen with all zeros. By the time I left, for the first time during this game, Jammy got some out of synch warnings/errors:
Code: [Select]
megaglest.exe v3.6.1-dev
Compiled using: VC++: 1600 on: Jun 28 2012 21:39:14
SVN: [Rev: 3412M] - using STREFLOP [SSE] - [no-denormals]
[2012-06-29 23:27:57] *ERROR* In [game.cpp::Glest::Game::Game::update Line: 1569] Error [In [..\..\source\glest_game\game\commander.cpp::Glest::Game::Commander::pushNetworkCommand - 517] Command refers to non existent unit id = 1. Game out of synch.
Stack Trace:
00000000 00000000 00000000 6352a11b ZwGetContextThread!ntdll (null)(0) +18
00000000 00000000 00000000 6352a11b ZwGetContextThread!ntdll (null)(0) +18
]
[2012-06-29 23:28:02] *ERROR* In [game.cpp::Glest::Game::Game::update Line: 1569] Error [In [..\..\source\glest_game\game\commander.cpp::Glest::Game::Commander::pushNetworkCommand - 517] Command refers to non existent unit id = 2. Game out of synch.
Stack Trace:
00000000 00000000 00000000 6352a11b ZwGetContextThread!ntdll (null)(0) +18
00000000 00000000 00000000 6352a11b ZwGetContextThread!ntdll (null)(0) +18

No --verbose there, though.

Unfortunately I have no idea how to reproduce this, but it clearly seems like a bug since during the entire time when I could not command my units, we were able to chat with each other just fone - so this was not a network issue.
« Last Edit: 5 July 2012, 00:14:01 by tomreyn »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: r3412: One clients' game starts, but he cannot play
« Reply #1 on: 29 June 2012, 23:25:38 »
Possibly related, I had this on my verbose log on another game where Jammy was again hosting and I was connecting to him again and I got out of synch without my units being movable.

Code: [Select]
In [xml_parser.cpp::load Line: 429] about to load [mk/linux/data/core/menu/menu.xml]
In [game.cpp::~Game Line: 315]
In [/home/user1/SCM/megaglest-trunk/source/glest_game/network/network_manager.cpp::end Line: 62]
In [/home/user1/SCM/megaglest-trunk/source/glest_game/network/network_manager.cpp::end Line: 71]
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x35f8a30
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x7c344b0
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x900cc80
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x8dba640
In [game.cpp::~Game Line: 378]
In [~ObjectParticleSystemType Line: 200] NEW [0x43610b0]
In [/home/user1/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 180]

Stack Trace:
mk/linux/megaglest:Glest::Game::ObjectParticleSystemType::~ObjectParticleSystemType() address [0x609240] line: 203
mk/linux/megaglest:Glest::Game::TilesetModelType::~TilesetModelType() address [0x891d72] line: 31
mk/linux/megaglest:Glest::Game::ObjectType::~ObjectType() address [0x8819a4] line: 32
mk/linux/megaglest:Glest::Game::Tileset::~Tileset() address [0x8ea99c] line: 384
mk/linux/megaglest:Glest::Game::World::~World() address [0x935a65] line: 144
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3433] line: 314
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3a69] line: 379
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3ab6] line: 81
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3d89] line: 93
mk/linux/megaglest:Glest::Game::Program::setState(Glest::Game::ProgramState*, bool) address [0x6a9d10] line: 540
mk/linux/megaglest:Glest::Game::BattleEnd::mouseDownLeft(int, int) address [0x69d630] line: 478
mk/linux/megaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton) address [0x66a984] line: 597
mk/linux/megaglest:Shared::Platform::Window::handleMouseDown(SDL_Event) address [0x9ffa42] line: 604
mk/linux/megaglest:Shared::Platform::Window::handleEvent() address [0xa00d73] line: 153
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x6948e3] line: 4602
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6982e6] line: 4868
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7f61f41f576d] line: 0
mk/linux/megaglest() [0x4f1c99] address [0x4f1c99]

In [~ObjectParticleSystemType Line: 200] NEW [0x428b8d0]
In [/home/user1/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 180]

Stack Trace:
mk/linux/megaglest:Glest::Game::ObjectParticleSystemType::~ObjectParticleSystemType() address [0x609240] line: 203
mk/linux/megaglest:Glest::Game::TilesetModelType::~TilesetModelType() address [0x891d72] line: 31
mk/linux/megaglest:Glest::Game::ObjectType::~ObjectType() address [0x8819a4] line: 32
mk/linux/megaglest:Glest::Game::Tileset::~Tileset() address [0x8ea99c] line: 384
mk/linux/megaglest:Glest::Game::World::~World() address [0x935a65] line: 144
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3433] line: 314
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3a69] line: 379
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3ab6] line: 81
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3d89] line: 93
mk/linux/megaglest:Glest::Game::Program::setState(Glest::Game::ProgramState*, bool) address [0x6a9d10] line: 540
mk/linux/megaglest:Glest::Game::BattleEnd::mouseDownLeft(int, int) address [0x69d630] line: 478
mk/linux/megaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton) address [0x66a984] line: 597
mk/linux/megaglest:Shared::Platform::Window::handleMouseDown(SDL_Event) address [0x9ffa42] line: 604
mk/linux/megaglest:Shared::Platform::Window::handleEvent() address [0xa00d73] line: 153
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x6948e3] line: 4602
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6982e6] line: 4868
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7f61f41f576d] line: 0
mk/linux/megaglest() [0x4f1c99] address [0x4f1c99]

In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::glestMain Line: 4709] starting normal application shutdown
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: r3412: One clients' game starts, but he cannot play
« Reply #2 on: 29 June 2012, 23:41:55 »
Yet another game with the same setup: this time I could move my units, but only every fiths or so command I gave was actually carried out.

And another possibly related backtrace:
Code: [Select]
In [xml_parser.cpp::load Line: 429] about to load [mk/linux/data/core/menu/menu.xml]
In [game.cpp::~Game Line: 315]
In [/home/user1/SCM/megaglest-trunk/source/glest_game/network/network_manager.cpp::end Line: 62]
In [/home/user1/SCM/megaglest-trunk/source/glest_game/network/network_manager.cpp::end Line: 71]
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x7148e30
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x8838590
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x4591780
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x5c10b00
In [/home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x96fd090
In [game.cpp::~Game Line: 378]
In [~ObjectParticleSystemType Line: 200] NEW [0x2f33170]
In [/home/user1/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 180]

Stack Trace:
mk/linux/megaglest:Glest::Game::ObjectParticleSystemType::~ObjectParticleSystemType() address [0x609240] line: 203
mk/linux/megaglest:Glest::Game::TilesetModelType::~TilesetModelType() address [0x891d72] line: 31
mk/linux/megaglest:Glest::Game::ObjectType::~ObjectType() address [0x8819a4] line: 32
mk/linux/megaglest:Glest::Game::Tileset::~Tileset() address [0x8ea99c] line: 384
mk/linux/megaglest:Glest::Game::World::~World() address [0x935a65] line: 144
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3433] line: 314
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3a69] line: 379
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3ab6] line: 81
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3d89] line: 93
mk/linux/megaglest:Glest::Game::Program::setState(Glest::Game::ProgramState*, bool) address [0x6a9d10] line: 540
mk/linux/megaglest:Glest::Game::BattleEnd::mouseDownLeft(int, int) address [0x69d630] line: 478
mk/linux/megaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton) address [0x66a984] line: 597
mk/linux/megaglest:Shared::Platform::Window::handleMouseDown(SDL_Event) address [0x9ffa42] line: 604
mk/linux/megaglest:Shared::Platform::Window::handleEvent() address [0xa00d73] line: 153
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x6948e3] line: 4602
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6982e6] line: 4868
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7fb8eafe676d] line: 0
mk/linux/megaglest() [0x4f1c99] address [0x4f1c99]

In [~ObjectParticleSystemType Line: 200] NEW [0x2f2a160]
In [/home/user1/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 180]

Stack Trace:
mk/linux/megaglest:Glest::Game::ObjectParticleSystemType::~ObjectParticleSystemType() address [0x609240] line: 203
mk/linux/megaglest:Glest::Game::TilesetModelType::~TilesetModelType() address [0x891d72] line: 31
mk/linux/megaglest:Glest::Game::ObjectType::~ObjectType() address [0x8819a4] line: 32
mk/linux/megaglest:Glest::Game::Tileset::~Tileset() address [0x8ea99c] line: 384
mk/linux/megaglest:Glest::Game::World::~World() address [0x935a65] line: 144
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3433] line: 314
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3a69] line: 379
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3ab6] line: 81
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3d89] line: 93
mk/linux/megaglest:Glest::Game::Program::setState(Glest::Game::ProgramState*, bool) address [0x6a9d10] line: 540
mk/linux/megaglest:Glest::Game::BattleEnd::mouseDownLeft(int, int) address [0x69d630] line: 478
mk/linux/megaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton) address [0x66a984] line: 597
mk/linux/megaglest:Shared::Platform::Window::handleMouseDown(SDL_Event) address [0x9ffa42] line: 604
mk/linux/megaglest:Shared::Platform::Window::handleEvent() address [0xa00d73] line: 153
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x6948e3] line: 4602
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6982e6] line: 4868
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7fb8eafe676d] line: 0
mk/linux/megaglest() [0x4f1c99] address [0x4f1c99]

In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::glestMain Line: 4709] starting normal application shutdown
In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::cleanupCRCThread Line: 110]
START - shutting down crc threads
B - shutting down crc threads
C - shutting down crc threads
In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::cleanupCRCThread Line: 130]
F - shutting down crc threads
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: r3412: One clients' game starts, but he cannot play
« Reply #3 on: 30 June 2012, 07:11:47 »
I forgot to mention that I'm currently using unstable graphics drivers, which can be the cause of this behaviour. This issue doesn't occur with these drivers on 3.6.0.3, though (although I have not played on jammy's server using 3.6.0.3, I'll try to do this soon).
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: r3412: One clients' game starts, but he cannot play
« Reply #4 on: 30 June 2012, 08:53:16 »
I was just able to reproduce this behaviour on my own Windows 7 host (running in VirtualBox) with my Linux 64 bit client connected to it. This still brings up the question why this is happening to me but not Pizza. And I should still try to roll back to stable Linux graphics drivers unless someone else can reproduce this - please test.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: r3412: One clients' game starts, but he cannot play
« Reply #5 on: 30 June 2012, 14:28:52 »
typedef, who is also on Ubuntu 12.04 x86_64, has kindly verified that the same setup (my Windows host) works with his (fully rebuilt) client. So it seems to be clear that this issue is caused by my updated/unstable graphics drivers and kernel. So I will downgrade both and test again. Sorry about the likely false report.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
The cause of this issue is that I had ThreadedClient=true in glestuser.ini which breaks compatibility to games running with default settings and causes out of synch situations. After removing this option off glestuser.ini i can move my units around also when my Linux client is connected to a Windows server.

This is not a bug, just an incompatible INI setting. Thanks to Titi for helping me find this!
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·