Sync errors - Page 3

Sync errors

Various things about Spring that do not fit in any of the other forums listed below, including forum rules.

Moderator: Moderators

tombom
Posts: 1933
Joined: 18 Dec 2005, 20:21

Post by tombom »

Tobi wrote:You can upload desynced replays here:
http://www.osrts.info/~tvo/spring/upload_replay.php

I'll run them through valgrind soonish.
Only replays made with the latest version of spring please.
Is it OK to upload replays with any desyncs at all? There is one where one guy who spectates desyncs but no-one else and another 16 player one where a few people desynced pretty quickly and I'm not sure if they're worth it.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Sure, just upload them. The earlier the desync happens the better actually. Doesn't matter whether it's a spec or a player. Just dont upload replays of which you know that they desync because someone borked his datafiles...
User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Post by Peet »

I just had a game where I desynced, it was precisely at a moment where I sent a single ship through a large mass of other ships...Sounds very much like a bug in the collision code.
malric
Posts: 521
Joined: 30 Dec 2005, 22:22

Post by malric »

Uploaded replay where all players desync (except host).

Would it be possible to use sync debugger 'off line' ? (using one replay for the host, and one replay for the desync player...)
User avatar
ginekolog
Posts: 837
Joined: 27 Feb 2006, 13:49

Post by ginekolog »

I also see sync errors in every other game. And most of time 3 or more ppl get desync at the same time.. sometimes even some minutes in game.

how about implementing auto resync ?

Host could send game data of all units and postions.. is it possible in timely manner or would it be too hard on host to calculate?

I remember CNC : ZH had the same problem - game has detected missmatch. And even EA could never get rid of it... so annoying.
User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Post by Peet »

ginekolog wrote:is it possible in timely manner or would it be too hard on host to calculate?
No, Yes, and the sync error would reoccur immediately due to the underlying bug.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

The problem with sync errors and replays is that replays rely on sync.

Provided the sync error in itself is deterministic & reproducable, replaying the replay on a non-desynced player's PC will give a different results from replaying the replay on a desynced player's PC.

If the sync error is caused by some random bug (unintialized memory read for example), then that part of the replay after the desync is unreliable (the correct gamestate is never stored in the replay).

Replays of desyncs are still useful because one can run them through spring running in some memory checking tool (or even springs built-in memory debugger, syncify, which is currently broken but which I intent to fix..).
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

This idea is probably bad for one reason or another, BUT: why couldn't you compare the replays of the synced player and desynced player to see where the difference occured? If you had a program that would compare the replays line by line and highlight where the error occured, it would seem to me that would aid debugging.
[/possibly impossible idea from non-coder person]
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Indeed it's impossible: The replay only contains the stuff sent over the net.

Suppose we have two players, A and B. A kept synced, B desynced. After the game A and B swap their replay files. Then, most probably, A would still see his version of the game replayed, and B his version of the game: B still is the one that's out of sync, and, if names or sync error messages were edited out of the replay, it would be impossible to find the replay created by the spring version that desynced (in a pool of all replays created by all players of that game).

EDIT: However it could be interesting to compare the contents of the net packages in the replay. If they're different then clearly some netcode / device corrupts packages or something. That will be a very time consuming & boring operation tho....
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

Tobi wrote:... That will be a very time consuming & boring operation tho....
C'mon, you've done that before! Go Tobi the King of Syncs!

Serious; maybe it's better to just wait for a cause to show up. Let other ppl investigate?
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

Tobi wrote:Stuff I don't really understand
I'll take your word for it. :(
el_matarife
Posts: 933
Joined: 27 Feb 2006, 02:04

Post by el_matarife »

I have a few desync replays over a meg, if you bump the max limit I can upload them if you need more. You have >15 right now, is that enough to be pretty helpful? Have you ran them through valgrind yet?
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Lets wait till I found something in the current replays.
As of yet I didnt find any errors (only ran 2 or 3 of the 15 replays through valgrind), but I noticed spring in valgrind doesn't sync with spring normal (ie. the replays don't replay correctly). Hopefully I can fix that...
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Post by Licho »

There are still sync errors in new version. So far 100% of games I played had desync. 1 happend when commander exploded (4 people out of 10 desynced) other when nuke hit (7 out of 10 desynced). In those two cases I caused the explosion and I stayed in sync with host.
I was unable to notice cause of other desyncs I encountered. All of this happend in BA4.41 if it's important.

It also seems to me that games run slower now. Even if people show low cpu % and low pings it sometimes slows down extremely.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Maybe its an idea to send hardware specs once people are desyncing... I have the feeling some people have a lot of desyncs and others have none (like me).
At least people could know which CPU not to buy if they want to play spring ;)
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Post by Licho »

Well I'm usually having desync between my Intel pentium M notebook hosting spring for my Athlon 2500+ desktop PC.

Happens nearly 100% of times when playing crossing 4 final map.
User avatar
Relative
Posts: 1371
Joined: 15 Oct 2006, 13:17

Post by Relative »

Wouldn't it be possible to to apply a fully automated re-syncing feature, for the short term a least? Game pauses and everyone downloads the host's version of the game. Might be a bit time consuming in-game, but it's better than nothing.

Edit: oops, it's already been said before.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

That's being worked on...
DemO
Posts: 541
Joined: 18 Jul 2006, 02:05

Post by DemO »

These desyncs seem player specific. Certain hosts seem to constantly desync in the games they host and others very rarely. Maybe consider this in searching for the answers as to why people desync - it may be client side related instead of the actual game itself.

Also some hosts can host certain maps fine and others repeatedly desync, where another host will have vice versa - i.e. perfect sync hosting games on the map where the other host desyncs, but his own desync problems on maps that the other host is fine with.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

DemO wrote: Also some hosts can host certain maps fine and others repeatedly desync, where another host will have vice versa - i.e. perfect sync hosting games on the map where the other host desyncs, but his own desync problems on maps that the other host is fine with.
Multiple versions of tangerine were released without changing something to make the two version appear different, is that what you are talking about?
Post Reply

Return to “General Discussion”