cseelhoff / RimThreaded

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

Bug with the mod: Turn it off and on #340

Closed GerryWildermuth closed 3 years ago

GerryWildermuth commented 3 years ago

Describe the bug Ones a electric device got used the mod throws an error and further actions with this device dosn`t work.

To Reproduce Steps to reproduce the behavior:

  1. Start a game use an electric device
  2. un use the device and use again
  3. Error occurs

Error Log https://gist.github.com/GerryWildermuth/0e87552f4e4c1246e39c2459ad40fe2d

Mod List Version: 1 Name: ThreadedRimworldListe Mods:

iViscosity commented 3 years ago

I also have an issue with this mod, but I don't get that error. I get:

Exception in JobDriver tick for pawn Ironhead driver=JobDriver_DoBill (toilIndex=24) driver.job=(DoBill (Job_786902) A=Thing_ElectricStove534844 B=Thing_RawRice590458 C=(163, 0, 72))
System.Threading.ThreadAbortException
  at System.Collections.Generic.HashSet`1[T].AddIfNotPresent (T value) [0x00064] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.HashSet`1[T].Add (T item) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at TurnItOnandOff.TurnItOnandOff.AddBuildingUsed (Verse.Building building) [0x00000] in <3db2d1527d214478a71e9d3af2de1692>:0 
  at TurnItOnandOff.Building_WorkTable_UsedThisTick_Patch.UsedThisTick (RimWorld.Building_WorkTable __instance) [0x00000] in <3db2d1527d214478a71e9d3af2de1692>:0 
  at (wrapper dynamic-method) RimWorld.Building_WorkTable.RimWorld.Building_WorkTable.UsedThisTick_Patch1(RimWorld.Building_WorkTable)
  at RimWorld.Building_WorkTable_HeatPush.UsedThisTick () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.AI.Toils_Recipe+<>c__DisplayClass2_0.<DoRecipeWork>b__1 () [0x0009d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimThreaded.JobDriver_Patch.DriverTick (Verse.AI.JobDriver __instance) [0x00318] in <46b1a8cab7904d27b8d8cd700a52845b>:0 
Verse.Log:Warning(String, Boolean)
Verse.AI.JobUtility:Verse.AI.JobUtility.TryStartErrorRecoverJob_Patch1(Pawn, String, Exception, JobDriver)
RimThreaded.JobDriver_Patch:DriverTick(JobDriver)
Verse.AI.JobDriver:Verse.AI.JobDriver.DriverTick_Patch1(JobDriver)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Verse.Pawn.Tick_Patch2(Pawn)
RimThreaded.RimThreaded:ExecuteTicks()
RimThreaded.RimThreaded:ProcessTicks()
RimThreaded.<>c:<CreateWorkerThread>b__88_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()

Just causes lag spikes (thread stops responding) almost every time they try to cook.