View Issue Details

IDProjectCategoryLast Update
0024200AI War 2Bug - GameplayDec 6, 2020 3:48 pm
ReporterNRSirLimbo Assigned ToChris_McElligottPark  
Severityblock 
Status resolvedResolutionfixed 
Product Version2.700 Multiplayer Shared-Faction Reaches Beta 
Fixed in Version2.701 Good Grief Hotfix Bonanza 
Summary0024200: Multiplayer Bug: Game Stuck waiting for clients forever
DescriptionError in a game with 2 clients, as if those are stuck in infinite loops.

When exiting this exception occurred:


Save included, uses a new version of More System Defenders (also included).
As the loop only occurs on clients and Kaizers Marauders runs no logic on clients (confirmed not to run).
It seems to occur on multiple clients at a time, sometimes just one.

12/6/2020 7:13:40 PM Hit exception in UpdateDifficultyEstimates code 120 System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
  at System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) [0x00029] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at System.ThrowHelper.ThrowArgumentOutOfRangeException () [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at Arcen.AIW2.External.BaseHackingImplementation.EstimateTotalDifficulty (Arcen.AIW2.Core.HackingType type, Arcen.AIW2.Core.GameEntity_Squad TargetOrNull, Arcen.AIW2.Core.Planet PlanetOrNull) [0x00195] in <5f12bae481794542933b75347d4e2974>:0
  at Arcen.AIW2.Core.HackingTypeTable.UpdateDifficultyEstimates () [0x000a5] in <67bb5fb086884306b44d3f398a4c97a8>:0
12/6/2020 7:13:40 PM Error in thread for execution context 'executionContext'
NullReferenceException
Object reference not set to an instance of an object
===STACK FRAMES (with file info)===
FILE METHOD IL_OFFSET NATIVE_OFFSET LINE_NUMBER COLUMN_NUMBER
    DoScenarioPerStepLogic 28 81 0 0
    DoWorldStepLogic_FromSimBGThread 132 330 0 0
    Execute 186 466 0 0
===RAW STACK TRACE===
  at Arcen.AIW2.External.EntitySimLogicImplementation.DoScenarioPerStepLogic (Arcen.AIW2.Core.ArcenSimContext Context) [0x0001c] in <5f12bae481794542933b75347d4e2974>:0
  at Arcen.AIW2.External.EntitySimLogicImplementation.DoWorldStepLogic_FromSimBGThread (Arcen.AIW2.Core.ArcenSimContext Context) [0x00084] in <5f12bae481794542933b75347d4e2974>:0
  at Arcen.AIW2.External.SimExecution.Execute () [0x000ba] in <5f12bae481794542933b75347d4e2974>:0
  at System.Environment.get_StackTrace () [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity) [0x00000] in <397e89365eb741f4bee6578a466eb12d>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, Arcen.Universal.Verbosity Verbosity) [0x00000] in <397e89365eb741f4bee6578a466eb12d>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <397e89365eb741f4bee6578a466eb12d>:0
  at Arcen.Universal.ArcenDebugging.LogException (System.Exception e, System.String message, Arcen.Universal.Verbosity verbosity) [0x00000] in <397e89365eb741f4bee6578a466eb12d>:0
  at Arcen.AIW2.External.SimExecution.Execute () [0x00000] in <5f12bae481794542933b75347d4e2974>:0
  at Arcen.AIW2.External.ArcenSimPlanningContext.InnerRun () [0x00000] in <5f12bae481794542933b75347d4e2974>:0
  at Arcen.AIW2.External.ArcenExecutionContext.InnerRun () [0x00000] in <5f12bae481794542933b75347d4e2974>:0
  at Arcen.AIW2.External.ArcenThread.InternalActualThreadFunction () [0x00000] in <5f12bae481794542933b75347d4e2974>:0
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0
  at System.Threading.ThreadHelper.ThreadStart () [0x00000] in <1f0c1ef1ad524c38bbc5536809c46b48>:0

All kinds of other exceptions seem to follow.
TagsNo tags attached.

Activities

NRSirLimbo

Dec 6, 2020 1:21 pm

developer  

s1.save (346,546 bytes)
ArcenDebugLog.txt (893,861 bytes)

Chris_McElligottPark

Dec 6, 2020 2:11 pm

administrator   ~0059868

Any idea what you were doing when you got the tooltip errors? Those are the ones about the world corners. Is it possible that was while you were shutting down the game?

Chris_McElligottPark

Dec 6, 2020 2:23 pm

administrator   ~0059870

Got this one:

* Put in some various protections for exceptions that could happen when it was trying to calculate the difficulty of various hacks. This kind of falls under the category of "how did this ever work?" since it was in some cases trying to check information from the first AI faction even if you were not in a game (and thus there were no factions yet).
** In other cases where it might be something else, these errors are now also more informative as well as not causing issues in further execution of the code.

Thanks!

Chris_McElligottPark

Dec 6, 2020 3:05 pm

administrator   ~0059878

Got the tooltip one!

* Fixed an issue in the most recent version of the game where disposed rect transforms could wind up being checked for position offsets, thus causing endless streams of exceptions. This was most common when opening the settings menu and then clicking to the performance tab, but could also happen other ways. We now intercept this so that it doesn't happen.

CRCGamer

Dec 6, 2020 3:08 pm

developer   ~0059879

Included some of the errors from my end in a log file. Lot of stuff for things like executionContext.
ArcenDebugLog-2.txt (886,051 bytes)

Chris_McElligottPark

Dec 6, 2020 3:08 pm

administrator   ~0059880

Okay, all the material stuff from this one is fixed.

Chris_McElligottPark

Dec 6, 2020 3:09 pm

administrator   ~0059881

Oh, those are the new ones. One sec, will add fixes for this.

Chris_McElligottPark

Dec 6, 2020 3:12 pm

administrator   ~0059882

Thanks!

* Fixed another bug with hacking difficulty causing exceptions. Factions are sometimes just validly null in there, and it now recognizes that.

Chris_McElligottPark

Dec 6, 2020 3:48 pm

administrator   ~0059884

Okay, this was intense, but I got the current batch:

* For unknown reasons, it was possible for the Scenario on the long term world setup data to be null on multiplayer clients, particularly with certain mods in use.
** The game now has been adjusted all over the place to use wrappered calls to scenario objects and get the default scenario if one is null. Additionally, if the scenario is STILL null then the game just skips whatever was supposed to happen there.
** The client will wind up getting the proper information from the host soon enough.
** It's possible that code mods may need to be recompiled against this.

Thanks!

Issue History

Date Modified Username Field Change
Dec 6, 2020 1:21 pm NRSirLimbo New Issue
Dec 6, 2020 1:21 pm NRSirLimbo File Added: s1.save
Dec 6, 2020 1:21 pm NRSirLimbo File Added: MoreSystemDefenders_v1.12.zip
Dec 6, 2020 1:21 pm NRSirLimbo File Added: ArcenDebugLog.txt
Dec 6, 2020 2:11 pm Chris_McElligottPark Note Added: 0059868
Dec 6, 2020 2:23 pm Chris_McElligottPark Note Added: 0059870
Dec 6, 2020 3:05 pm Chris_McElligottPark Note Added: 0059878
Dec 6, 2020 3:08 pm CRCGamer File Added: ArcenDebugLog-2.txt
Dec 6, 2020 3:08 pm CRCGamer Note Added: 0059879
Dec 6, 2020 3:08 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Dec 6, 2020 3:08 pm Chris_McElligottPark Status new => resolved
Dec 6, 2020 3:08 pm Chris_McElligottPark Resolution open => fixed
Dec 6, 2020 3:08 pm Chris_McElligottPark Fixed in Version => 2.701 Good Grief Hotfix Bonanza
Dec 6, 2020 3:08 pm Chris_McElligottPark Note Added: 0059880
Dec 6, 2020 3:09 pm Chris_McElligottPark Note Added: 0059881
Dec 6, 2020 3:12 pm Chris_McElligottPark Note Added: 0059882
Dec 6, 2020 3:48 pm Chris_McElligottPark Note Added: 0059884