View Issue Details

IDProjectCategoryLast Update
0026548AI War 2Bug - GameplayMar 3, 2022 1:15 pm
ReporterNoble Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product VersionBeta 3.904 Release Candidate 1 
Fixed in VersionBeta 3.906 Release Candidate 3 
Summary0026548: [Multiplayer] Flagship producing infinite ships local to client after transfer
DescriptionWhile transferring units around, the following error occurred:

DELAYED41 TID6 Ship Carrier Guardian - 10216 was part of faction Brian but has now somehow jumped to AI Warden Fleet. Yikes! Anything of note just happen in the game in terms of actions taken?

The unit production then continued indefinitely to the local client, disregarding ship caps. Scrapping the ships did reset the count to 0, but they continued to produce well passed individual unit caps after this as well (getting into the thousands of strikecraft, for example). Log is attached, hopefully that will help determine the issue.
TagsNo tags attached.

Relationships

related to 0026538 resolvedChris_McElligottPark MP: clients perpetually building units 
related to 0026536 resolvedChris_McElligottPark MP- Client appears to be building units over limit when loading unloading from transport 
related to 0026571 resolvedChris_McElligottPark ActuallyFireSalvoAtTargetPriorityList 

Activities

Noble

Feb 27, 2022 7:09 pm

reporter  

Player.log (1,129,887 bytes)

Chris_McElligottPark

Mar 2, 2022 11:55 am

administrator   ~0065025

Thanks!

* Fixed an issue where MP clients did not have appropriate strength estimates for their ship lines, and also did not have proper ship counts for their ship lines for any ship lines that included stacked units. This was a bug introduced on Friday, when I shifted things about the ship counts to be calculated only on the host.
** This was leading to a variety of issues, but one of them was divergent engineers on the client who were constantly trying to help factories build ships, and negative metal flows that were not really there, etc.

But there's more in your log, so I'm not closing the issue yet.

Chris_McElligottPark

Mar 2, 2022 12:05 pm

administrator   ~0065027

The interesting parts from your log:

Noble had the following:

DELAYED38 TID20 ActuallyFireSalvoAtTargetPriorityList error at debugStage 12210, error: System.IndexOutOfRangeException: 2 was larger than 13, the current effective size of the list. LocationNameForTracing:EntitySystem-targetPriorityList
  at Arcen.Universal.List`1[T].set_Item (System.Int32 index, T value) [0x0004f] in <ae781c79bbec44678b85eff2b87059cb>:0
  at Arcen.AIW2.External.EntitySimLogicImplementation_BaseInfo.ActuallyFireSalvoAtTargetPriorityList (Arcen.AIW2.Core.ArcenClientOrHostSimContextCore Context, Arcen.AIW2.Core.EntitySystem System, System.Boolean trace, Arcen.Universal.ArcenCharacterBuffer tracingBuffer, System.Boolean DoShotsAllInstaHit) [0x00e98]

DELAYED39 TID24 TakeDamageDirectly error at debugStage 6520: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.Core.GameEntity_Squad.DoOnDestructionLogic (System.Boolean PreventReversionToNeutral, Arcen.AIW2.Core.DamageSource Damage, Arcen.AIW2.Core.EntitySystem FiringSystemOrNull, System.Boolean wasAlive, System.Int32 numStacksKilled, Arcen.AIW2.Core.ArcenSimContextAnyStatus Context) [0x00234] in <d68e26f14a9b4db2894277e16c752f4c>:0
  at Arcen.AIW2.Core.GameEntity_Squad.TakeDamageDirectly (System.Int32 DamageAmount, Arcen.AIW2.Core.EntitySystem FiringSystemOrNull, Arcen.AIW2.Core.IShotHitSource ShotSourceThatHitOrNullOnlyUsedForKnockback, Arcen.AIW2.Core.DamageSource Damage, System.Boolean PreventReversionToNeutral, System.Boolean HonorFiniteHitCountAOE, System.Int32 MaxStacksAllowedToKill, System.Int32 CompressedShots, System.Int32 ExtraStacksOfSource, System.Boolean OnlyDamageShieldNotHull, System.Int32& ActualDamageDone, System.Int32& ActualHitEvents, System.Int32& DamageAbortCode, Arcen.AIW2.Core.ArcenSimContextAnyStatus Context, Arcen.Universal.ArcenCharacterBuffer traceBuffer) [0x01718] in <d68e26f14a9b4db2894277e16c752f4c>:0

DELAYED40 TID12 Found PKID twice: 600 and Squad 1 was on planet Turtle Dragon for factionNoble while squad2 was on planet Turtle Dragon for factionNatural Objects . Metal Harvester

The other items are pretty much all just the same thing that was in your original report above.

Chris_McElligottPark

Mar 2, 2022 12:06 pm

administrator   ~0065028

As an aside, the ArcenDebugLog.txt often has more information than the Player.log, so that is usually strongly preferred -- but if that gets overflowed, then the Player.log is a nice backup source.

Chris_McElligottPark

Mar 2, 2022 4:41 pm

administrator   ~0065033

* Fixed a source of random-seeming deserialization issues in ship systems that has been around forever.
** Essentially, it was possible for the number of targets that a system has to be altered right as the data was being written to the network, or even to a savegame. Honestly I'm surprised this has not corrupted any saves.
** All of this has been moved into methods that are protected by locks, and which try to use as minimal locks as possible while still providing full protection.

Chris_McElligottPark

Mar 2, 2022 5:59 pm

administrator   ~0065040

* The case of "client gets confused and creates way too many ships" was pretty much solved by my prior fix that also fixed clients from thinking they had too few units in general, but just in case (and for edge cases in general), I've put in further code that prevents clients from adding to stacks or the number of transported ships or similar. This is more for preventing flickery wrong info.

Chris_McElligottPark

Mar 2, 2022 9:12 pm

administrator   ~0065044

Badger got the last one here, the "TakeDamageDirectly " issue.

Thanks!

Noble

Mar 3, 2022 1:15 pm

reporter   ~0065066

Thank you very much for the fix! I'll keep in mind that ArcenDebugLog.txt is a better log and include that one next time as well.

Issue History

Date Modified Username Field Change
Feb 27, 2022 7:09 pm Noble New Issue
Feb 27, 2022 7:09 pm Noble File Added: Player.log
Feb 28, 2022 1:03 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Feb 28, 2022 1:03 pm Chris_McElligottPark Status new => assigned
Mar 2, 2022 11:55 am Chris_McElligottPark Note Added: 0065025
Mar 2, 2022 11:55 am Chris_McElligottPark Relationship added related to 0026538
Mar 2, 2022 11:57 am Chris_McElligottPark Relationship added related to 0026536
Mar 2, 2022 12:02 pm Chris_McElligottPark Relationship added related to 0026571
Mar 2, 2022 12:05 pm Chris_McElligottPark Note Added: 0065027
Mar 2, 2022 12:06 pm Chris_McElligottPark Note Added: 0065028
Mar 2, 2022 4:41 pm Chris_McElligottPark Note Added: 0065033
Mar 2, 2022 5:59 pm Chris_McElligottPark Note Added: 0065040
Mar 2, 2022 9:12 pm Chris_McElligottPark Status assigned => resolved
Mar 2, 2022 9:12 pm Chris_McElligottPark Resolution open => fixed
Mar 2, 2022 9:12 pm Chris_McElligottPark Fixed in Version => Beta 3.906 Release Candidate 3
Mar 2, 2022 9:12 pm Chris_McElligottPark Note Added: 0065044
Mar 3, 2022 1:15 pm Noble Note Added: 0065066