View Issue Details

IDProjectCategoryLast Update
0026389AI War 2Crash/ExceptionFeb 15, 2022 9:42 pm
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product VersionBeta 3.803 Encyclopedia Madness 
Fixed in VersionBeta 3.804 Bug Smooshing 
Summary0026389: MP Errors 2.803
DescriptionResults of a 20 minutes quick session
My client was playing Necro sidekick and the host was human empire.

Whenever the human empire would claim a new flagship/Ark, it would vanish from the client. Reconnecting made the flagships visible again

On the client, I saw the following errors:
2/15/2022 10:57:07 AM 3.803 CLIENT DELAYED21 TID46 RegenerateAllObjectives_ClientOrHost error: System.NullReferenceException: Object reference not set to an instance of \
an object
  at Arcen.AIW2.External.AIObjectivesGenerator.SemiSlow_ComputeEntityMatchesObjectiveCategory (Arcen.AIW2.Core.GameEntityTypeData entityType, Arcen.AIW2.Core.ObjectiveCategor\
y objectiveCategory) [0x0042a] in <df7f418926f545009143c1f83b299ab5>:0
  at Arcen.AIW2.External.AIObjectivesGenerator.GetEntityMatchesObjectiveCategory (Arcen.AIW2.Core.GameEntityTypeData entityType, Arcen.AIW2.Core.ObjectiveCategory objectiveCa\
tegory) [0x0001c] in <df7f418926f545009143c1f83b299ab5>:0
  at Arcen.AIW2.External.ResourceObjectivesGenerator+<>c.<GenerateGrantsAddedToCommandStationObjectives>b__3_0 (Arcen.AIW2.Core.GameEntity_Squad entity) [0x000b3] in <df7f418\
926f545009143c1f83b299ab5>:0
  at Arcen.AIW2.Core.EntityCollection.DoForEntities (Arcen.AIW2.Core.EntityRollupType Rollup, Arcen.AIW2.Core.GameEntity_Squad+ProcessorDelegate Processor) [0x00068] in <0d2a8216b9584ed7af107adf631c421a>:0
  at Arcen.AIW2.Core.Faction.DoForEntities (Arcen.AIW2.Core.EntityRollupType Rollup, Arcen.AIW2.Core.GameEntity_Squad+ProcessorDelegate Processor) [0x00033] in <0d2a8216b9584ed7af107adf631c421a>:0
  at Arcen.AIW2.Core.World_AIW2.DoForEntities (Arcen.AIW2.Core.EntityRollupType Rollup, Arcen.AIW2.Core.GameEntity_Squad+ProcessorDelegate Processor) [0x0001c] in <0d2a8216b9584ed7af107adf631c421a>:0
  at Arcen.AIW2.External.ResourceObjectivesGenerator.GenerateGrantsAddedToCommandStationObjectives () [0x00035] in <df7f418926f545009143c1f83b299ab5>:0
  at Arcen.AIW2.External.ResourceObjectivesGenerator.CheckForResourceObjectives_BackgroundThread_ClientOrHost () [0x00013] in <df7f418926f545009143c1f83b299ab5>:0
  at Arcen.AIW2.External.CoreObjectiveGenerator.GenerateObjectiveOnClientOrHost (Arcen.AIW2.Core.ArcenClientOrHostSimContextCore Context) [0x00013] in <df7f418926f545009143c1f83b299ab5>:0
  at Arcen.AIW2.Core.ObjectiveGeneratorTable.RegenerateAllObjectives_ClientOrHost (Arcen.AIW2.Core.ArcenClientOrHostSimContextCore Context) [0x000b1] in <0d2a8216b9584ed7af10\
7adf631c421a>:0

2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED22 TID27 Canary code exception at second ('' instead of '2'). Code above it is the real problem. Exception: System.Exception: Could not read string 'second', but did get this partial one: 'Y2?^M???~=t9?Yp?^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^.....^@'.
Was for field with name: 'second' Exception: System.Exception: Tried to read condensed string format index 115 which is >= the length of 109 supported characters. Some bad data just happened prior to this!
  at Arcen.Universal.ArcenDeserializationBufferModern.GetBits_InnerHelperChar (System.Boolean ReadFullUnicode) [0x000c1] in <72998ef925d2405d98333c3f9c0dcff0>:0
  at Arcen.Universal.ArcenDeserializationBufferModern.ReadString_Condensed (Arcen.Universal.SerMetaData MetaData, System.String FieldNameForErrors) [0x00120] in <72998ef925d2405d98333c3f9c0dcff0>:0
  at Arcen.Universal.ArcenDeserializationBufferModern.ReadString_Condensed (Arcen.Universal.SerMetaData MetaData, System.String FieldNameForErrors) [0x002af] in <72998ef925d2405d98333c3f9c0dcff0>:0
  at Arcen.Universal.ArcenDeserializationBufferModern.ValidateCanary (System.String ExpectedCanaryString, System.String CanaryFieldName, Arcen.Universal.SerializationCommandType SerializationType) [0x00018] in <72998ef925d2405d98333c3f9c0dcff0>:0
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED23 TID27 Canary code mismatch at third ('' instead of '3'). Code above it is the real problem.
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED24 TID27 Canary code mismatch at fourth ('pM' instead of '4'). Code above it is the real problem.
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED25 TID27 Canary code mismatch at EntityCanarySys ('' instead of 'S'). Code above it is the real problem.
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED26 TID27 GameEntity_Squad deserialization error at stage 10000 from serialized version 3.803 loading into new version 3.803, error: System.Exception: Error: DeserializeByIndex nameIndex of 166 larger than IndexSerializationInfo.SerializedNamesList.Count of 89 on ArcenNonTableUniqueStringList: Arcen.AIW2.Core.EntitySystemTypeDataTable PlaceOfDeserializationForDebugging: EntitySystemDeser From Version: 3.803
  at Arcen.Universal.ArcenNonTableUniqueStringList.DeserializeByIndex (Arcen.Universal.SerMetaData MetaData, Arcen.Universal.ArcenDeserializationBuffer Buffer, Arcen.Universal.LookupSwapAllowed SwapAllowed, System.String PlaceOfDeserializationForDebugging, System.String FieldNameForErrors) [0x00112] in <72998ef925d2405d98333c3f9c0dcff0>:0
  at Arcen.Universal.ArcenNonTableUniqueStringList.DeserializeByIndex (Arcen.Universal.SerMetaData MetaData, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.String PlaceOfDeserializationForDebugging, System.String FieldNameForErrors) [0x00001] in <72998ef925d2405d98333c3f9c0dcff0>:0
  at Arcen.AIW2.Core.EntitySystem.DeserializeInto (Arcen.Universal.SerMetaData MetaData, Arcen.AIW2.Core.EntitySystem& resultOrNull, System.Boolean& PleaseDestroy, Arcen.AIW2.Core.GameEntity_Squad ParentEntity, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean& WasAbleToFindType) [0x00017] in <0d2a8216b9584ed7af107adf631c421a>:0
  at Arcen.AIW2.Core.GameEntity_Squad.DeserializeSquadIntoSelf (Arcen.Universal.SerMetaData MetaData, System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet NewPlanet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, Arcen.Universal.SerializationCommandType SerializationCmdType, Arcen.AIW2.Core.PlanetFaction NewPlanetFaction) [0x00c3a] in <0d2a8216b9584ed7af107adf631c421a>:0
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED27 TID27 Canary code mismatch at PreExternal ('' instead of '6'). Code above it is the real problem.
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED28 TID27 Canary code mismatch at PostExternal ('' instead of 'ThSeus'). Code above it is the real problem.
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED29 TID27 Theseus failure: numberOfMainDeserializations: 1 numberOfExternalDeserializations: 1 numberOfCanary6Fails: 1 numberOfCanary6Successes: 0 lastExternalUnitTypeData MacrophagePerHarvesterBaseInfo
                                                                                           
Then I started seeing a ton of errors like
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED30 TID46 Canary code mismatch at hash ('' instead of '#'). Code above it is the real problem.
2/15/2022 11:00:01 AM 3.803 CLIENT DELAYED35 TID38 Canary code mismatch at hash ('' instead of '#'). Code above it is the real problem.
2/15/2022 11:01:06 AM 3.803 CLIENT DELAYED213 TID56 Canary code mismatch at hash ('' instead of '#'). Code above it is the real problem.
2/15/2022 11:01:06 AM 3.803 CLIENT DELAYED214 TID20 Found a squad still in a PlanetFaction list after it was already in quarantine, yikes!

TagsNo tags attached.

Relationships

related to 0026397 resolvedChris_McElligottPark MP error: Whenever the human empire would claim a new flagship/Ark, it would vanish from the client. Reconnecting made the flags 

Activities

Chris_McElligottPark

Feb 15, 2022 9:22 pm

administrator   ~0064524

This is the "two" canary code, which should be fixed (and there were a series of errors after that which were all just downstream cascades from this:

* Fixed an error that was causing a multiplayer desync if the unit died on a client right before it tried to deserialize a unit order out of its list of orders.

* Entity orders are now structs rather than classes, and no longer need to be pooled. This is a notable boost in speed, particularly because these are so extremely frequently used and replaced. This should smooth out performance on MP clients in particular, but it also makes loading a save slightly faster. This should also reduce the surface area for further MP bugs from this section.

Chris_McElligottPark

Feb 15, 2022 9:27 pm

administrator   ~0064525

The host error:

* Fixed an exception that could happen in intel generation, and also made the error handling in that section more robust.

Chris_McElligottPark

Feb 15, 2022 9:35 pm

administrator   ~0064527

I got what I can in the current version. The # hash errors are incredibly strange, I don't see how they could be happening without another canary error directly prior to them based on how I'm doing the canaries. It's... perplexing.

BadgerBadger

Feb 15, 2022 9:42 pm

manager   ~0064528

I'll try to recreate with your changes soon. Thanks for the prompt attention!

Issue History

Date Modified Username Field Change
Feb 15, 2022 1:07 pm BadgerBadger New Issue
Feb 15, 2022 1:07 pm BadgerBadger Status new => assigned
Feb 15, 2022 1:07 pm BadgerBadger Assigned To => Chris_McElligottPark
Feb 15, 2022 9:22 pm Chris_McElligottPark Note Added: 0064524
Feb 15, 2022 9:27 pm Chris_McElligottPark Note Added: 0064525
Feb 15, 2022 9:28 pm Chris_McElligottPark Relationship added related to 0026397
Feb 15, 2022 9:35 pm Chris_McElligottPark Status assigned => resolved
Feb 15, 2022 9:35 pm Chris_McElligottPark Resolution open => fixed
Feb 15, 2022 9:35 pm Chris_McElligottPark Fixed in Version => Beta 3.804 Bug Smooshing
Feb 15, 2022 9:35 pm Chris_McElligottPark Note Added: 0064527
Feb 15, 2022 9:42 pm BadgerBadger Note Added: 0064528