Author Topic: r4355: Rejoin: OOS after rejoin  (Read 1078 times)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
r4355: Rejoin: OOS after rejoin
« on: 2 June 2013, 00:16:59 »
Note:
OOS on rejoin was previously discussed in another thread: https://forum.megaglest.org/index.php?topic=9045



I was hosting, Titi joined, we started together, then he left and rejoined. We later went OOS and here is how...

At the very moment Titi rejoined i ordered my single hunter and single spearman to the top left corner, and they started walking there. When they had roughly made one third of the way to their destination i decided to split them up: I let the spear man continue his way to top left, but reordered the hunter to bottom left.

The next thing Titi saw is that my hunter took a short route between the lakes to head to bottom left, where he got involved in a fight.



The next thing I saw was my hunter going straight down on our safe (right) side of the rightmost lake, then heading towards the enemy (to the left).
But on my screen my hunter never reached the enemy (or surpassed the center of the map) before we ended the game.



So clearly the game went out of synch there already, but we did not actually wait until one of us would run into an OOS error message, since we could tell from chatting that we were seeing different things on screen already. We both recorded DebugWorldSynch logs:

Titi's logs

My logs (ignore the screenshot included there, it is from a different game)
« Last Edit: 3 June 2013, 06:23:33 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 · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: r4355: Rejoin: OOS after rejoin
« Reply #1 on: 2 June 2013, 05:58:22 »
Please try latest svn with logging and let me know what you get.

Thanks

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: r4355: Rejoin: OOS after rejoin
« Reply #2 on: 2 June 2013, 22:49:27 »
Same thing as you can see from screenshot below. Look at the red unit bottom left. This is a unit that got a command to return on the server instantly after the client joined the game again. Looks like this command was somhow not executed on the client.
I remember that we had ( have? ) another problem with loading games in singleplayer, where units don't react on commands in teh first 1-3 seconds after loading a game. Maybe thats related.

Update: And there is another problem with the state of the explored map. This is somehow VERY different on server and client and it looks like the explored parts in the map  are not properly restored/loaded maybe ?
In general the client minimap screenshot looks wrong because we have no "beam" skill in MegaGlest  ;D



Clienet Server both Linux 64
Client logs:
http://titi.megaglest.org/outOfSync_rev4362.7z

Server logs:
http://tomreyn.megaglest.org/OOS_r4362_tomreyn.tar.xz
« Last Edit: 2 June 2013, 23:50:22 by titi »
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: r4355: Rejoin: OOS after rejoin
« Reply #3 on: 3 June 2013, 05:29:46 »
Please try svn rev#: 4364 ( i made a bugfix based on the logs you provided, missed clearing one cache)

Thanks

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: r4355: Rejoin: OOS after rejoin
« Reply #4 on: 3 June 2013, 22:27:44 »
bugs are still present

from irc:
<titi_linux> I think there are 2 bugs that are shown there
<titi_linux> and both of them are still present
<titi_linux> look at the fog of war on server and client
<titi_linux> you see the difference ? The thing the client shows is not possible
<titi_linux> maybe a general savegame problem
<titi_linux> the other problem are the units in different positions
<titi_linux> we reproduced it again with latest svn
<titi_linux> this happens if units are commanded while or directly after a player joined
<titi_linux> these commands are not executed on the client
<titi_linux> you can see it when you compare server and client in this case

Bottom mid unit is different on server and client and fog of war is impossible like this on client:





Logfiles:
Server:
http://tomreyn.megaglest.org/OOS_r4372_tomreyn.tar.xz

Client:
http://titi.megaglest.org/outOfSync_rev4372.7z

logfiles:
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: r4355: Rejoin: OOS after rejoin
« Reply #5 on: 3 June 2013, 23:03:52 »

I was hosting and Titi the sole client who rejoined. Before Titi joined, I had ordered a stickman to walk to bottom center (arrow 1 on mini map). By the time Titi joined this stickman had almost but not fully reached bottom center and kept running there (this info will have been in the savegame Titi downloaded). Directly after Titi rejoined I ordered this stickman to bottom left instead (arrow 2 on mini map). So on my screen, it headed there. But on Titi's screen it just reached bottom center and stood there.

My mini map:
« Last Edit: 3 June 2013, 23:31:24 by titi »
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 · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: r4355: Rejoin: OOS after rejoin
« Reply #6 on: 4 June 2013, 03:19:37 »
Ok the first problem (with the minimap) should be fixed in svn.

Update: And now you are NOT able to execute commands while the game is paused (except pause/ unpause and disconnect) so lets see if this issue is resolved 100%



Edit by tomreyn (2013-06-21):

Note to self: I'm not sure whether or not this was fixed, needs more testing (and an update to this post) when we look into rejoins again.
« Last Edit: 21 June 2013, 11:02:10 by tomreyn »