View Issue Details

IDProjectCategoryLast Update
0026133AI War 2Crash/ExceptionJan 24, 2022 3:38 pm
Reporterwilliam montag Assigned ToBadgerBadger  
Status resolvedResolutionreopened 
Product VersionBeta 3.785 Just Bugfixes 
Fixed in VersionBeta 3.786 A Very Intense Patch 
Summary0026133: faction fatal error
Descriptiongot a couple of errors that shut down scourge and the elderlings faction... plus still dzs constructors still throwing issues
TagsNo tags attached.

Relationships

related to 0026161 resolvedChris_McElligottPark Excpetion in stringbuilder 

Activities

william montag

Jan 17, 2022 3:19 pm

reporter  

ArcenDebugLog.txt (2,097,286 bytes)

BadgerBadger

Jan 18, 2022 11:43 am

manager   ~0063819

1/17/2022 3:07:18 PM 3.785 SINGLEP DELAYED12485 TID66 Hit exception debugCode 400 in elderlings stage 2 System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at Arcen.Universal.List`1[T].Contains (T item) [0x00062] in <3637db2066ca4766aaac882c23fd375d>:0
  at Arcen.Universal.List`1[T].AddIfNotAlreadyIn (T item) [0x00015] in <3637db2066ca4766aaac882c23fd375d>:0
  at Arcen.Universal.DictionaryOfLists`2[TKey,TValue].Clear () [0x0003f] in <3637db2066ca4766aaac882c23fd375d>:0

1/17/2022 3:07:55 PM 3.785 SINGLEP DELAYED12685 TID34 Tried to write Int32 PosExceptNeg1, but passed value was: -30, which is out of range! Value set to -1 so your save would work. FieldNameForErrors: SanityRemaining
  at System.Environment.get_StackTrace () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <3637db2066ca4766aaac882c23fd375d>:0
  at Arcen.Universal.ArcenSerializationBuffer.AddInt32 (Arcen.Universal.ReadStyle RStyle, System.Int32 Item, System.String FieldNameForErrors) [0x00000] in <3637db2066ca4766aaac882c23fd375d>:0
  at Arcen.AIW2.External.ElderlingsPerUnitBaseInfo.SerializeTo (Arcen.Universal.ArcenSerializationBuffer Buffer) [0x00000] in <3fa4634b2e734766961b19cafe18b388>:0
  at Arcen.AIW2.Core.GameEntity_Squad.SerializeExternalSquadData (Arcen.Universal.ArcenSerializationBuffer Buffer) [0x00000] in <48383ad85dc24d5f99e60f4430468c7f>:0
  at Arcen.AIW2.Core.World_AIW2.SerializeAllWorldExternalDatas (Arcen.Universal.ArcenSerializationBuffer Buffer, Arcen.Universal.List`1[T] SquadsThatNeedToSerializeExternalData) [0x00000] in <48383ad85dc24d5f99e60f4430468c7f>:0
  at Arcen.AIW2.Core.World_AIW2.SerializeWorldTo (Arcen.Universal.ArcenSerializationBuffer Buffer, Arcen.Universal.SpecialSerializationType SpecialSerialization, Arcen.Universal.SerializationCommandType SerializationType) [0x00000] in <48383ad85dc24d5f99e60f4430468c7f>:0
  at Arcen.Universal.World.SerializeTo (Arcen.Universal.ArcenSerializationBuffer Buffer, Arcen.Universal.SpecialSerializationType SpecialSerialization, Arcen.Universal.SerializationCommandType SerializationType) [0x00000] in <3637db2066ca4766aaac882c23fd375d>:0
  at Arcen.Universal.World.SaveWorldToDisk (System.String SaveName, Arcen.Universal.List`1[T] SavegameMetadata) [0x00000] in <3637db2066ca4766aaac882c23fd375d>:0
  at Arcen.AIW2.External.GameCommand_SaveGame.Execute (Arcen.AIW2.Core.GameCommand command, Arcen.AIW2.Core.ArcenClientOrHostSimContextCore context) [0x00000] in <3fa4634b2e734766961b19cafe18b388>:0
  at Arcen.AIW2.Core.GameCommand.Execute (Arcen.AIW2.Core.ArcenClientOrHostSimContextCore Context) [0x00000] in <48383ad85dc24d5f99e60f4430468c7f>:0
  at Arcen.AIW2.Core.World_AIW2.OnClientOrHost_ExecuteGameCommandsThatWereScheduled (Arcen.AIW2.Core.ArcenClientOrHostSimContextCore Context) [0x00000] in <48383ad85dc24d5f99e60f4430468c7f>:0
  at Arcen.AIW2.External.SimPlannerImplementation.ProcessCoreLogicForArbitraryFrameOnMainThread (System.Boolean& stalledWaitingOnConnections, System.Boolean& mayUpdateVisuals, System.String& reasonForNoVisualUpdates) [0x00000] in <3fa4634b2e734766961b19cafe18b388>:0

Also some very suspicious errors with DZ Constructors:
1/17/2022 3:07:19 PM 3.785 SINGLEP DELAYED12488 TID74 HandleConstructorsLRP: Dark Zenith Constructor #1762521 on Cinna has no destination
1/17/2022 3:07:19 PM 3.785 SINGLEP DELAYED12489 TID74 HandleConstructorsLRP: Dark Zenith Constructor #1776873 on Lake has no destination
1/17/2022 3:07:19 PM 3.785 SINGLEP DELAYED12490 TID74 HandleConstructorsLRP: Dark Zenith Constructor #1838257 on Lake has no destination

BadgerBadger

Jan 18, 2022 9:06 pm

manager   ~0063821

I don't see any scourge errors. Do you have the save from this by chance?

william montag

Jan 18, 2022 10:05 pm

reporter   ~0063822

here is the save.
HI.save (1,981,628 bytes)
HI.bak (2,020,703 bytes)

Chris_McElligottPark

Jan 24, 2022 12:50 pm

administrator   ~0063852

Thanks!

* The dark zenith are now accepting of the fact that their constructors might not have orders to go to a specific planet.
** It's possible that this will lead to them sitting around, but in general there is only one place that DZConstructorTargetPlanetIndex is set (renamed to that because PlanetIndex can't be found easily with a code search). And based on this, it looks entirely valid for them to not have a target at least some of the time, and spamming the console with errors is not going to help matters. The code should just wait until they are given orders.

Chris_McElligottPark

Jan 24, 2022 12:53 pm

administrator   ~0063853

Found the scourge exception, it popped up for me directly also:

* Fixed a scourge exception in "SendUnitToArmoryToUpgradeIfNecessary debugCode 1200"

Chris_McElligottPark

Jan 24, 2022 1:07 pm

administrator   ~0063856

"Hit exception debugCode 400 in elderlings stage 2" should be fixed based on a threading issue that I just resolved.

BadgerBadger

Jan 24, 2022 1:09 pm

manager   ~0063857

Chris, the DZ problem here is other than you think. The DZ Constructor gets its "Planet to build on" and "Structure to build" when it's created, and then it's never updated.

Chris_McElligottPark

Jan 24, 2022 1:10 pm

administrator   ~0063858

* Fixed an exception that could happen if elderling sanity dropped below -1.

Thanks!

Chris_McElligottPark

Jan 24, 2022 1:13 pm

administrator   ~0063859

"Chris, the DZ problem here is other than you think. The DZ Constructor gets its "Planet to build on" and "Structure to build" when it's created, and then it's never updated."

Okay, I am thinking that most likely these didn't have their stuff properly created when they were created, and thus it tried to add them later because that was missing. This sort of thing happens, and right now it sounds like the code isn't dealing with that sort of late-add properly. If you want to force it to just delete those constructors who are missing data, then you could do that.

Right now it seems like there's an excess of constructors, I don't know why.

In general, this save has 60k stacks of units, and targeting and decollision take between 6 and 9 seconds. I'm not sure where this massive growth in units is coming from, but it's never going to be suitably playable at those kinds of numbers, I would guess.

BadgerBadger

Jan 24, 2022 1:33 pm

manager   ~0063861

So the code looks like
Create new entity
Create its DZPerUnitBaseInfo
Assign a planet to build on

I know there must be a planet to build on because if we don't get a planet, we don't make the constructor.

So how can we not have a planet set? There's no way out of that function between "I created the unit" and "I assigned the planet".

BadgerBadger

Jan 24, 2022 2:00 pm

manager   ~0063862

I'll add more defensive code to make sure that things are always in a good state when a constructor is created

Chris_McElligottPark

Jan 24, 2022 2:37 pm

administrator   ~0063864

I don't know, but my first guess would be "that unit is not actually a constructor." My second guess would be "the constructor transformed at some point, and the data did not come along."

It's possible there is something more exotic happening, but at the moment I don't have any good guesses on that.

BadgerBadger

Jan 24, 2022 3:38 pm

manager   ~0063871

I don't think either of those should be possible, but I've added more defensive code.

Issue History

Date Modified Username Field Change
Jan 17, 2022 3:19 pm william montag New Issue
Jan 17, 2022 3:19 pm william montag File Added: ArcenDebugLog.txt
Jan 18, 2022 11:43 am BadgerBadger Note Added: 0063819
Jan 18, 2022 9:06 pm BadgerBadger Note Added: 0063821
Jan 18, 2022 10:05 pm william montag Note Added: 0063822
Jan 18, 2022 10:05 pm william montag File Added: HI.save
Jan 18, 2022 10:05 pm william montag File Added: HI.bak
Jan 24, 2022 12:42 pm Chris_McElligottPark Relationship added related to 0026161
Jan 24, 2022 12:50 pm Chris_McElligottPark Note Added: 0063852
Jan 24, 2022 12:53 pm Chris_McElligottPark Note Added: 0063853
Jan 24, 2022 1:07 pm Chris_McElligottPark Note Added: 0063856
Jan 24, 2022 1:09 pm BadgerBadger Note Added: 0063857
Jan 24, 2022 1:10 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Jan 24, 2022 1:10 pm Chris_McElligottPark Status new => resolved
Jan 24, 2022 1:10 pm Chris_McElligottPark Resolution open => fixed
Jan 24, 2022 1:10 pm Chris_McElligottPark Note Added: 0063858
Jan 24, 2022 1:13 pm Chris_McElligottPark Assigned To Chris_McElligottPark => BadgerBadger
Jan 24, 2022 1:13 pm Chris_McElligottPark Status resolved => feedback
Jan 24, 2022 1:13 pm Chris_McElligottPark Resolution fixed => reopened
Jan 24, 2022 1:13 pm Chris_McElligottPark Note Added: 0063859
Jan 24, 2022 1:33 pm BadgerBadger Note Added: 0063861
Jan 24, 2022 2:00 pm BadgerBadger Note Added: 0063862
Jan 24, 2022 2:37 pm Chris_McElligottPark Note Added: 0063864
Jan 24, 2022 3:38 pm BadgerBadger Note Added: 0063871
Jan 24, 2022 3:38 pm BadgerBadger Status feedback => resolved
Jan 24, 2022 3:38 pm BadgerBadger Fixed in Version => Beta 3.786 A Very Intense Patch