Opened 8 years ago

Closed 8 years ago

#3612 closed defect (fixed)

OOS on rejoin - warship waypoints

Reported by: elexis Owned by: wraitii
Priority: Release Blocker Milestone: Alpha 19
Component: Core engine Keywords:
Cc: Patch:

Description

Yesterday we played a svn game and experienced this OOS on rejoin.

Attached is the equivalent commands.txt that produces a serializationtest error on r17263 and the OOS dumps of that turn.

Use attachment:serializationChange.patch:ticket:3292 with hashStart=1363 and the serializationtest error will occur on turn 1507.

The only difference are waypoints of the first warship of Hannibal_Barca:

 - id: 4762
   Decay:
   Footprint:
   Minimap:
     r: 150
     g: 20
     b: 20
     active: true
     x: 640.83704
     z: 160.72571
   Obstruction:
     active: true
     moving: true
     control group: 4762
     control group 2: 0
     tag: 1340
     flags: 5
     clearance: 12
   OverlayRenderer:
   Ownership:
     owner: 2
   Position:
     in world: true
     x: 640.83704
     y: 0
     z: 160.72571
     last x: 640.82389
     last y diff: 0
     last z: 155.8048
     territory: 0
     rot x: 0
     rot y: 0.26487
     rot z: 0
     altitude: 0
     relative: true
     floating: true
     constructionprogress: 0
     turret parent: 0
   Selectable:
   UnitMotion:
     state: 3
     path state: 3
     pass class: "ship"
     ticket: 0
     target entity: 0
     target pos x: 0
     target pos y: 0
     target offset x: 0
     target offset y: 0
     target min range: 0
     target max range: 0
     speed: 14
     moving: true
     facePointAfterMove: true
     tries: 0
-    length: 6
+    length: 4
     waypoint x: 664.77265
     waypoint z: 278.75486
     waypoint x: 664.63633
-    waypoint z: 273.62743
-    waypoint x: 659.06817
-    waypoint z: 265.56373
-    waypoint x: 656.2841
-    waypoint z: 219.53187
-    waypoint x: 649.89205
-    waypoint z: 191.51594
+    waypoint z: 231.62743
+    waypoint x: 654.06817
+    waypoint z: 197.56373
     waypoint x: 641.5
     waypoint z: 161.5
     length: 0
     length: 0
     expected path ticket: 0
     next step clean: true
     type: 0
     goal x: 664.77265
     goal z: 278.75486
     goal u x: 0
     goal u z: 0
     goal v x: 0
     goal v z: 0
     goal hw: 0
     goal hh: 0
     maxdist: 0

Attachments (4)

t3612_commands.txt_oosdumps.7z (1.2 MB ) - added by elexis 8 years ago.
FixRangeSubdiv.patch (3.8 KB ) - added by wraitii 8 years ago.
screenshot_path_host.jpg (563.7 KB ) - added by elexis 8 years ago.
Shows the path that the host computes (ignore the path from building to ship position).
screenshot_path_rejoined.jpg (543.0 KB ) - added by elexis 8 years ago.
Shows the path that the rejoined client computes (ignore the path from building to ship position).

Change History (7)

by elexis, 8 years ago

comment:1 by elexis, 8 years ago

Notice it is an instant OOS on rejoin on turn 1507, so only need to do a serializationtest on that particular turn.

by wraitii, 8 years ago

Attachment: FixRangeSubdiv.patch added

comment:2 by wraitii, 8 years ago

While trying to fix that OOS, I ran into an issue where the range manager subdivision seems to be wrong: not serializing it may change the order of entities in the range manager (not sure if that is a problem) and furthermore the Oversized Entities seem like they may never actually be added. At least there were issue on copying which lead to repetitive "Verify()" Failure. Above patch fixes those.

by elexis, 8 years ago

Attachment: screenshot_path_host.jpg added

Shows the path that the host computes (ignore the path from building to ship position).

by elexis, 8 years ago

Shows the path that the rejoined client computes (ignore the path from building to ship position).

comment:3 by wraitii, 8 years ago

Owner: set to wraitii
Resolution: fixed
Status: newclosed

In 17278:

The over-rasterization of obstructions introduced in [17161] could in very rare cases lead to an OOS in the passability grid. Fixes #3612.

Note: See TracTickets for help on using tickets.