View Issue Details

IDProjectCategoryView StatusLast Update
0001919Spring engineGeneralpublic2019-11-27 23:46
ReporterSirMaverick Assigned ToKloot  
PrioritynormalSeverityminorReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version0.81.2.1 
Target Version0.82.0Fixed in Version0.81.0.0+git 
Summary0001919: replay from desynced game shows different games
DescriptionWe had a game in CA which desynced at some point. Replays from 3 different players are equal: I used demotool to output every package in hex format, diff showed only one difference: assigned player number from server.

I watched the replays several times. You might see a different outcome: https://trac.caspring.org/attachment/ticket/2273/desync.jpg
I used 20100508_112659_Emain Macha_0.81.2.sdf when making those pictures.
Additional Informationsee https://trac.caspring.org/ticket/2273 for replays
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
20100518_200205_Comet Catcher Redux_0.81.2.sdf (Attachment missing)
Checked infolog.txt for Errors

Relationships

related to 0001908 resolvedzerver SIGSEGV in UnitScript.cpp:232 
related to 0001822 closed Spring Crash 

Activities

SirMaverick

2010-05-09 02:41

reporter   ~0004895

I have screenshots of that situation from 5 runs (different replays used). They only show those 2 outcomes.

Kloot

2010-05-09 11:44

developer   ~0004896

Last edited: 2010-05-09 11:48

That is not at all unusual.

Something as simple as a (non SEGV-inducing) OOB memread triggered by a certain sequence of commands can cause the original game to desync, as well each run of the demos recorded from it (with respect to one another and the "true" game history). The *only* guarantee is that all demo-streams contain the same information.

SirMaverick

2010-05-10 21:23

reporter   ~0004902

I got sync traces for both situations.
The beginning of the diff looks like this:

5445467,5445470c5445467,5445470
< Cob explosion: 4344 -8.03928 4193.89 12 2
< New CPieceProjectile: 4344 -8.03928 4193.89 4.9814 4.98336 3.59403
< Cob explosion: 4329.75 -5.65165 4200.36 3 2
< New CPieceProjectile: 4329.75 -5.65165 4200.36 5.04897 3.90835 4.72657
---
> Cob explosion: 4344.64 -8.17732 4195.42 12 2
> New CPieceProjectile: 4344.64 -8.17732 4195.42 4.9814 4.98336 3.59403
> Cob explosion: 4329.9 -5.70797 4202.01 3 2
> New CPieceProjectile: 4329.9 -5.70797 4202.01 5.04897 3.90835 4.72657
5454701a5454702,5454703
> Explosion: 4501.9 50 5
> Damage: 3491 49
5454976,5454977d5454977
< Explosion: 4504.1 50 5
< Damage: 3491 49

I can upload the full traces if needed.

SirMaverick

2010-05-18 22:06

reporter   ~0004926

Reproduced in a smaller game.

tvo

2010-07-25 20:58

reporter   ~0005159

Assigned to myself after discussion during meeting.

I will commit simple fix asap.

tvo

2010-07-27 16:10

reporter   ~0005161

fixed here: http://github.com/spring/spring/commit/19c42922f5af966abb82b91f5fb2a6a6c866bdda

Kloot

2019-11-27 23:45

developer   ~0020260

Fix 939ead8181afc50d4d733664c360d3a900c1b13b committed to develop branch: * fix 0001919 (LuaUnitScript desync, sleeping threads were being woken up in non-deterministic order), repo: spring changeset id: 11588

Issue History

Date Modified Username Field Change
2010-05-09 02:31 SirMaverick New Issue
2010-05-09 02:34 SirMaverick File Added: infolog.txt
2010-05-09 02:41 SirMaverick Note Added: 0004895
2010-05-09 11:44 Kloot Note Added: 0004896
2010-05-09 11:48 Kloot Note Edited: 0004896
2010-05-10 21:23 SirMaverick Note Added: 0004902
2010-05-12 17:14 Kloot Status new => assigned
2010-05-12 17:14 Kloot Assigned To => Kloot
2010-05-18 22:05 SirMaverick File Added: 20100518_200205_Comet Catcher Redux_0.81.2.sdf
2010-05-18 22:06 SirMaverick Note Added: 0004926
2010-07-12 16:41 Kloot Relationship added related to 0001908
2010-07-12 16:47 Kloot Relationship added related to 0001822
2010-07-22 12:53 Kloot Status assigned => resolved
2010-07-22 12:53 Kloot Fixed in Version => 0.81.0.0+git
2010-07-22 12:53 Kloot Resolution open => fixed
2010-07-22 17:55 Kloot Status resolved => assigned
2010-07-22 17:55 Kloot Resolution fixed => reopened
2010-07-25 15:58 tvo Target Version => 0.82
2010-07-25 20:57 tvo Assigned To Kloot => tvo
2010-07-25 20:58 tvo Note Added: 0005159
2010-07-27 16:10 tvo Note Added: 0005161
2010-07-27 16:10 tvo Status assigned => resolved
2010-07-27 16:10 tvo Resolution reopened => fixed
2019-11-27 23:45 Kloot Changeset attached => spring develop 939ead81
2019-11-27 23:45 Kloot Note Added: 0020260
2019-11-27 23:46 Kloot Assigned To tvo => Kloot