View Issue Details

IDProjectCategoryLast Update
0024224AI War 2Crash/ExceptionDec 15, 2020 9:52 am
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version2.703 Hotfix 
Fixed in Version2.705 Clarity, Refinement, and Performance 
Summary0024224: Today's multiplayer errors
DescriptionWe were playing a 5 or 6 person shared faction game. This is the debug log from one of the clients.
TagsNo tags attached.

Activities

BadgerBadger

Dec 13, 2020 12:20 am

manager  

ArcenDebugLog(1).txt (1,907,549 bytes)

BadgerBadger

Dec 13, 2020 12:21 am

manager   ~0059931

The contents is a ton of repeated hits of this:

12/12/2020 8:43:23 PM Speed Group: Not fatal - just a warning: Client_TrulyProcessFastBlastDataOfCreatedObjects: Null faction found at index: -1. Abandoning rest of sync data from this cycle.
12/12/2020 8:43:24 PM GameEntity_Shot deserialization error at stage 2000 from serialized version 2.702 loading into new version 2.702, error: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000f9] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].set_Item (TKey key, TValue value) [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at Arcen.AIW2.Core.World_AIW2.RegisterNewEntity (Arcen.AIW2.Core.GameEntity_Shot Entity) [0x00001] in <793777b09f0f4825910aa547ba8f985b>:0
  at Arcen.AIW2.Core.GameEntity_Shot.InitializeShot (Arcen.AIW2.Core.Planet Planet, System.Int32 PrimaryKeyID, Arcen.AIW2.Core.GameEntityTypeData TypeData) [0x0000b] in <793777b09f0f4825910aa547ba8f985b>:0
  at Arcen.AIW2.Core.GameEntity_Shot.FinishDeserializeFrom (System.Int32 primaryKeyID, System.String name, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.AIW2.Core.PlanetFaction Faction, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsDeserializingFromNetworkSync) [0x00047] in <793777b09f0f4825910aa547ba8f985b>:0

Chris_McElligottPark

Dec 15, 2020 9:52 am

administrator   ~0060001

Thanks!

* Went over speed groups with a fine-toothed comb in terms of their fast-blast sync in multiplayer, and it all looks good. Put in slight extra instrumentation to let us know if there is actually an oversight, but at the moment it looks like the error is really on the side of fast-blast shots, not speed groups, and the speed groups were a downstream casualty.

* Updated the central dictionaries that have lookups for shots, ships, and wormholes to be concurrent dictionaries that expect access from 8 threads at once (but can do more). This mostly affects nothing, but in certain cases where we were trying to write to one of those dictionaries from two threads at once, it will prevent any issues.
** What we were observing in some cases (one client out of five in a six player game, for example) is that shots were failing the basic method call of "assign self into dictionary by ID." This should be frankly impossible, but it was erroring on an internal method call TryInsert on the Dictionary<> class. That's a great sign that there is a cross-threading issue going on, because again that should be impossible in any other circumstance. So the simple solution is switching to a ConcurrentDictionary<>, and that problem should go away.

Issue History

Date Modified Username Field Change
Dec 13, 2020 12:20 am BadgerBadger New Issue
Dec 13, 2020 12:20 am BadgerBadger Status new => assigned
Dec 13, 2020 12:20 am BadgerBadger Assigned To => Chris_McElligottPark
Dec 13, 2020 12:20 am BadgerBadger File Added: ArcenDebugLog(1).txt
Dec 13, 2020 12:21 am BadgerBadger Note Added: 0059931
Dec 15, 2020 9:52 am Chris_McElligottPark Status assigned => resolved
Dec 15, 2020 9:52 am Chris_McElligottPark Resolution open => fixed
Dec 15, 2020 9:52 am Chris_McElligottPark Fixed in Version => 2.705 Clarity, Refinement, and Performance
Dec 15, 2020 9:52 am Chris_McElligottPark Note Added: 0060001