View Issue Details

IDProjectCategoryLast Update
0025831AI War 2Crash/ExceptionNov 15, 2021 5:52 pm
ReporterColdPrototype Assigned ToChris_McElligottPark  
Severitymajor 
Status resolvedResolutionfixed 
Product VersionBeta 3.750 Smooth Simulator 
Fixed in VersionBeta 3.751 Faction Processing Groups 
Summary0025831: Game slows down and reports enormous numbers of errors
DescriptionGame generates large numbers of errors and slows down to barely-playable levels. Sometimes a reload fixes things for a while.

It also seems that the Dark Zenith Svikari are killing AI command stations/warp gates to generate AIP; is that intentional?
TagsNo tags attached.

Relationships

related to 0025729 resolvedChris_McElligottPark Jacobson DoCombatStepForPlanet error 

Activities

ColdPrototype

Nov 15, 2021 2:36 pm

reporter  

MoreErrors.save (857,460 bytes)
ArcenDebugLog.txt (1,111,507 bytes)

BadgerBadger

Nov 15, 2021 3:26 pm

manager   ~0063306

Looks like there's something wrong with randomization:

11/15/2021 2:30:08 PM 3.750 SINGLEP DELAYED2409 TID63 ReinforceSpecificPlanet error at debugStage 4000. Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at Arcen.Universal.MersenneTwister.GenerateUInt () [0x0012b] in <c2a09fa7828c4a658708fa1f6e00464b>:0
  at Arcen.Universal.MersenneTwister.Next (System.Int32 maxValue) [0x0002a] in <c2a09fa7828c4a658708fa1f6e00464b>:0
  at Arcen.Universal.MersenneTwister.Next (System.Int32 minValue, System.Int32 maxValue) [0x00012] in <c2a09fa7828c4a658708fa1f6e00464b>:0
  at Arcen.AIW2.External.BaseAIDefensePlacer.Inner_ReinforceWithFleetShipsOrTurrets (Arcen.AIW2.Core.ArcenHostOnlySimContext Context, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.Faction faction, System.Int32& budget, Arcen.AIW2.Core.ReinforcementType reinforcementType, System.Int32 AICostPurchaseCap, System.Int32& costForAIToPurchasePresent, Arcen.AIW2.Core.AIShipGroup ShipGroup, Arcen.Universal.List`1[T] BaseEntitiesWeCanReinforce, System.Boolean ComplainIfNotOnPurposeInabilityToSeed, System.Int32& AddedStrength, System.Boolean IsForInitialSeeding) [0x0033d] in <ac3b1f678e8044df82357cd1f96348c1>:0
  at Arcen.AIW2.External.BaseAIDefensePlacer.Reinforce (Arcen.AIW2.Core.ArcenHostOnlySimContext Context, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.Faction faction, System.Int32 budget, Arcen.AIW2.Core.ReinforcementType reinforcementType, System.Boolean IsForInitialSeeding, System.Boolean ComplainIfNotOnPurposeInabilityToSeed, System.Int32& AddedStrength) [0x002d3] in <ac3b1f678e8044df82357cd1f96348c1>:0
  at Arcen.AIW2.External.AISentinelsFactionDeepInfo.ReinforceSpecificPlanet (Arcen.AIW2.Core.Planet planet, Arcen.Universal.FInt originalBudgetForThisPlanet, Arcen.AIW2.Core.ArcenHostOnlySimContext Context, Arcen.Universal.FInt& totalBudget, Arcen.Universal.FInt& subBudget, System.Int32[]& strengthAddedByPlanetIndex, Arcen.Universal.FInt& amountSpentAgainstBudget, Arcen.Universal.FInt& amountSpentInTotalForReal) [0x0034e] in <ac3b1f678e8044df82357cd1f96348c1>:0
11/15/2021 2:30:08 PM 3.750 SINGLEP DELAYED2410 TID8 ReinforceSpecificPlanet error at debugStage 4000. Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.

BadgerBadger

Nov 15, 2021 3:35 pm

manager   ~0063307

The svikari can and will destroy things and generate AIP if you have the appropriate game settings enabled.

Chris_McElligottPark

Nov 15, 2021 5:52 pm

administrator   ~0063310

Thanks!

* Added a new processing_group="Name" on faction definitions that is required.
** This allows us to aggregate "hey, am I allowed to run at the same time?" in the way we really need to. We had something like this before, but not enough.
** This in turn requires new xml in a new folder called SpecialFactionProcessingGroup, and that fills a SpecialFactionProcessingGroup object in the code, which is mostly used for LRP threading locks.

* UniqueNameForFactionToAvoidThreadConflicts has been removed, replaced with a reference to the faction's SpecialFactionProcessingGroup.

* Okay! This has been a problem for longer than I realized, as it turns out; it just has been more obvious in recent months.
** Essentially, the way we were handling factions that used shared resources for their "LRP processing" previously only attempted to not let them START in the same lrp sim cycle, but it was not preventing them from starting in multiple cycles and thus overlapping.
** Good grief, this was more untangling than expected. This SHOULD prove to be the end of any sort of "pathfinder already running" errors, but we'll have to wait longer and see if folks still run into it. I really don't think they will, knock on wood.
*** This should also solve any MersenneTwister.GenerateUInt issues, which are also basically an indication of a single randomizer being called by two threads at once.

Issue History

Date Modified Username Field Change
Nov 15, 2021 2:36 pm ColdPrototype New Issue
Nov 15, 2021 2:36 pm ColdPrototype File Added: MoreErrors.save
Nov 15, 2021 2:36 pm ColdPrototype File Added: ArcenDebugLog.txt
Nov 15, 2021 3:26 pm BadgerBadger Note Added: 0063306
Nov 15, 2021 3:26 pm BadgerBadger Relationship added related to 0025729
Nov 15, 2021 3:35 pm BadgerBadger Note Added: 0063307
Nov 15, 2021 5:52 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Nov 15, 2021 5:52 pm Chris_McElligottPark Status new => resolved
Nov 15, 2021 5:52 pm Chris_McElligottPark Resolution open => fixed
Nov 15, 2021 5:52 pm Chris_McElligottPark Fixed in Version => Beta 3.751 Faction Processing Groups
Nov 15, 2021 5:52 pm Chris_McElligottPark Note Added: 0063310