View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0026389 | AI War 2 | Crash/Exception | Feb 15, 2022 1:07 pm | Feb 15, 2022 9:42 pm | |
Reporter | BadgerBadger | Assigned To | Chris_McElligottPark | ||
Status | resolved | Resolution | fixed | ||
Product Version | Beta 3.803 Encyclopedia Madness | ||||
Fixed in Version | Beta 3.804 Bug Smooshing | ||||
Summary | 0026389: MP Errors 2.803 | ||||
Description | Results 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! | ||||
Tags | No tags attached. | ||||
related to | 0026397 | resolved | Chris_McElligottPark | MP error: Whenever the human empire would claim a new flagship/Ark, it would vanish from the client. Reconnecting made the flags |
|
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. |
|
The host error: * Fixed an exception that could happen in intel generation, and also made the error handling in that section more robust. |
|
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. |
|
I'll try to recreate with your changes soon. Thanks for the prompt attention! |
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 |