MegaGlest Forum

MegaGlest => Bug reports => Topic started by: tomreyn on 2 June 2013, 00:16:59

Title: r4355: Rejoin: OOS after rejoin
Post by: tomreyn 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.

(http://postimg.com/143000/mini_map_titi-142737.jpg)

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.

(http://postimg.com/143000/mini_map_tomreyn-142738.jpg)

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 (http://titi.megaglest.org/outOfSync_rev4356.7z)

My logs (http://tomreyn.megaglest.org/OOS_r4355_tomreyn.tar.xz) (ignore the screenshot included there, it is from a different game)
Title: Re: r4355: Rejoin: OOS after rejoin
Post by: softcoder on 2 June 2013, 05:58:22
Please try latest svn with logging and let me know what you get.

Thanks
Title: Re: r4355: Rejoin: OOS after rejoin
Post by: titi 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

(http://titi.megaglest.org/OOS_r4362.jpg)

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
Title: Re: r4355: Rejoin: OOS after rejoin
Post by: softcoder 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
Title: Re: r4355: Rejoin: OOS after rejoin
Post by: titi 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:



(http://titi.megaglest.org/OOS_r4372.jpg)

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

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

logfiles:
Title: Re: r4355: Rejoin: OOS after rejoin
Post by: tomreyn 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:
(http://s24.postimg.org/shcncaupv/OOS_r4372_tomreyn.jpg)
Title: Re: r4355: Rejoin: OOS after rejoin
Post by: softcoder 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.