cseelhoff / RimThreaded

RimThreaded is a RimWorld mod designed to enable RimWorld to utilize multiple threads.
MIT License
119 stars 21 forks source link

`RimWorld.ListerBuildingsRepairable.RimWorld.ListerBuildingsRepairable.UpdateBuilding_Patch` #722

Open sealvessel opened 2 years ago

sealvessel commented 2 years ago

Describe the bug

Construction blueprint bug

Steps to reproduce the behavior (VERY IMPORTANT)

  1. Load save.
  2. See error after half a minute.

Error Logs

JobDriver threw exception in initAction for pawn Paretto driver=JobDriver_HaulToContainer (toilIndex=8) driver.job=(HaulToContainer (Job_285197) A=Thing_WoodLog231604 B=Thing_Blueprint_WoodPlankFloor229359 C=Thing_Frame_WoodPlankFloor231592)
System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Collections.Generic.HashSet`1[T].SetCapacity (System.Int32 newSize) [0x0003d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.HashSet`1[T].IncreaseCapacity () [0x00020] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.HashSet`1[T].AddIfNotPresent (T value) [0x000b3] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.HashSet`1[T].Add (T item) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at RimThreaded.ListerBuildingsRepairable_Patch.UpdateBuilding (RimWorld.ListerBuildingsRepairable __instance, Verse.Building b) [0x00059] in <86be62ec05034ba58645d699f2fc63ae>:0 
  at (wrapper dynamic-method) RimWorld.ListerBuildingsRepairable.RimWorld.ListerBuildingsRepairable.UpdateBuilding_Patch1(RimWorld.ListerBuildingsRepairable,Verse.Building)
  at RimWorld.ListerBuildingsRepairable.Notify_BuildingSpawned (Verse.Building b) [0x00009] in <7e901abeac4244b484a99b66989d226f>:0 
  at Verse.Building.SpawnSetup (Verse.Map map, System.Boolean respawningAfterLoad) [0x0019a] in <7e901abeac4244b484a99b66989d226f>:0 
  at Verse.GenSpawn.Spawn (Verse.Thing newThing, Verse.IntVec3 loc, Verse.Map map, Verse.Rot4 rot, Verse.WipeMode wipeMode, System.Boolean respawningAfterLoad) [0x00261] in <7e901abeac4244b484a99b66989d226f>:0 
  at RimWorld.Blueprint.TryReplaceWithSolidThing (Verse.Pawn workerPawn, Verse.Thing& createdThing, System.Boolean& jobEnded) [0x000a9] in <7e901abeac4244b484a99b66989d226f>:0 
  at RimWorld.Toils_Construct+<>c__DisplayClass0_0.<MakeSolidThingFromBlueprintIfNecessary>b__0 () [0x00059] in <7e901abeac4244b484a99b66989d226f>:0 
  at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x001de] in <7e901abeac4244b484a99b66989d226f>:0 
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:DriverTick ()
Verse.AI.Pawn_JobTracker:JobTrackerTick ()
Verse.Pawn:Tick ()
RimThreaded.TickList_Patch:NormalThingTick ()
RimThreaded.RimThreaded:ExecuteTicks ()
RimThreaded.RimThreaded:ProcessTicks (RimThreaded.RimThreaded/ThreadInfo)
RimThreaded.RimThreaded:InitializeThread (object)
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart (object)

Player.log

HugsLib log

!!! Link to HugsLib log. (MUST BE LINK) !!!

Save file

Quicksave.rws.zip

Screenshots

image

https://user-images.githubusercontent.com/66351949/142158014-87f78afb-73fb-4999-a378-f621ae534319.mov

Mod list (For vanilla report, it has to be same as below list.)

  • brrainz.harmony
  • <li>ludeon.rimworld</li>
    <li>ludeon.rimworld.royalty</li>
    <li>ludeon.rimworld.ideology</li>
    <li>unlimitedhugs.hugslib</li>
    <li>brrainz.cameraplus</li>
    <li>telefonmast.graphicssettings</li>
    <li>edb.preparecarefully</li>
    <li>void.charactereditor</li>
    <li>uuugggg.tdpack</li>
    <li>arandomkiwi.rimsaves</li>
    <li>madarauchiha.custommapsizes</li>
    <li>trinity.runtimegcupdated</li>
    <li>seohyeon.optimizationmeats</li>
    <li>dubwise.dubsmintminimap</li>
    <li>adambucior.betterelectronics</li>
    <li>majorhoff.rimthreaded.experimental</li>