RimWorld

RimWorld

Allow Tool
Red error
JobDriver threw exception in toil MakeNewToils's initAction for pawn Mech_Cleansweeper1045867 driver=JobDriver_Wait (toilIndex=0) driver.job=(Wait (Job_7969668))
System.NullReferenceException: Object reference not set to an instance of an object
[Ref B29DD0C4]
at AllowTool.PartyHuntHandler.get_WorldSettings () [0x0000b] in <8a098910d6a84b188090b9d6c096e9ee>:0
at AllowTool.PartyHuntHandler.DoBehaviorForPawn (Verse.AI.JobDriver_Wait driver) [0x0001e] in <8a098910d6a84b188090b9d6c096e9ee>:0
at AllowTool.Patches.JobDriverWait_CheckForAutoAttack_Patch.DoPartyHunting (Verse.AI.JobDriver_Wait __instance) [0x00001] in <8a098910d6a84b188090b9d6c096e9ee>:0
at Verse.AI.JobDriver_Wait.CheckForAutoAttack () [0x003a9] in <24d25868955f4df08b02c73b55f389fe>:0
- POSTFIX UnlimitedHugs.AllowTool: Void AllowTool.Patches.JobDriverWait_CheckForAutoAttack_Patch:DoPartyHunting(JobDriver_Wait __instance)
at Verse.AI.JobDriver_Wait.<MakeNewToils>b__3_0 () [0x0003d] in <24d25868955f4df08b02c73b55f389fe>:0
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x001b0] in <24d25868955f4df08b02c73b55f389fe>: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 ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool,bool)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
Verse.AI.JobDriver:Notify_PatherFailed ()
Verse.AI.Pawn_PathFollower:PatherFailed ()
Verse.AI.Pawn_PathFollower:TryResumePathingAfterLoading ()
Verse.Pawn:PostMapInit ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.FinalizeInit_Patch2 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.FinalizeLoading_Patch3 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.LoadGame_Patch6 (Verse.Game)
Verse.SavedGameLoaderNow:LoadGameFromSaveFileNow (string)
Verse.Root_Play/<>c:<Start>b__1_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__28_0 ()
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 ()


Logs: https://gist.github.com/HugsLibRecordKeeper/4c401951bfdd3537220da157f0fd1a95
< >
Showing 1-10 of 10 comments
Rovstam Aug 30 @ 2:50pm 
ChatGPT said: Yep — that stack trace points to a mod crash. Short version: the crash is coming from UnlimitedHugs / AllowTool (the AllowTool.PartyHuntHandler.get_WorldSettings call). That mod is calling something that doesn’t exist yet (a null world/settings) during map/save load, producing a NullReferenceException. The usual fixes are: disable or update the mod, or apply a small null-check patch in the mod code. Below I give a safe, step-by-step troubleshooting checklist and concrete fixes you can try right now.
Rovstam Aug 30 @ 2:51pm 
It's 3 errors, second error is:

JobDriver threw exception in toil MakeNewToils's initAction for pawn Mech_Cleansweeper1045867 driver=JobDriver_Wait (toilIndex=0) driver.job=(Wait (Job_7969669))
System.NullReferenceException: Object reference not set to an instance of an object
[Ref B29DD0C4] Duplicate stacktrace, see ref for original
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 ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool,bool)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool,bool)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
Verse.AI.JobDriver:Notify_PatherFailed ()
Verse.AI.Pawn_PathFollower:PatherFailed ()
Verse.AI.Pawn_PathFollower:TryResumePathingAfterLoading ()
Verse.Pawn:PostMapInit ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.FinalizeInit_Patch2 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.FinalizeLoading_Patch3 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.LoadGame_Patch6 (Verse.Game)
Verse.SavedGameLoaderNow:LoadGameFromSaveFileNow (string)
Verse.Root_Play/<>c:<Start>b__1_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__28_0 ()
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 ()
Rovstam Aug 30 @ 2:52pm 
Third:

An error occurred while starting an error recover job. We have to stop now to avoid infinite loops. This means that the pawn is now jobless which can cause further bugs. pawn=Mech_Cleansweeper1045867
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 ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool,bool)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool,bool)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
Verse.AI.JobDriver:Notify_PatherFailed ()
Verse.AI.Pawn_PathFollower:PatherFailed ()
Verse.AI.Pawn_PathFollower:TryResumePathingAfterLoading ()
Verse.Pawn:PostMapInit ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.FinalizeInit_Patch2 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.FinalizeLoading_Patch3 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.LoadGame_Patch6 (Verse.Game)
Verse.SavedGameLoaderNow:LoadGameFromSaveFileNow (string)
Verse.Root_Play/<>c:<Start>b__1_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__28_0 ()
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 ()
Most of my pawns are standing still most of the time. Is this the same issue? Is there a solution?

It's a save killer as it stands (pun intended). I've removed the mod, but the standing bug persists - no errors in log.

It would be handy if the stack trace at least told us what it was trying to haul and where if applicable. Then maybe I could rescue the game by deleting an object or something.

Zenav threw exception in WorkGiver HaulUrgently: System.NullReferenceException: Object reference not set to an instance of an object
[Ref D33F34F3]
at Verse.GridsUtility.Fogged (Verse.Thing t) [0x00006] in <31482697ada14932981abc5e76101d5d>:0
at Verse.AI.HaulAIUtility.PawnCanAutomaticallyHaulFast (Verse.Pawn p, Verse.Thing t, System.Boolean forced) [0x00034] in <31482697ada14932981abc5e76101d5d>:0
- PREFIX net.pardeike.rimworld.mods.achtung: Boolean AchtungMod.HaulAIUtility_PawnCanAutomaticallyHaulFast_Patch:Prefix(Pawn p, Thing t, Boolean forced, Boolean& __result)
at AllowTool.WorkGiver_HaulUrgently+<PotentialWorkThingsGlobal>d__3.MoveNext () [0x00052] in <8a098910d6a84b188090b9d6c096e9ee>:0
at Verse.GenClosest.ClosestThing_Global (Verse.IntVec3 center, System.Collections.IEnumerable searchSet, System.Single maxDistance, System.Predicate`1[T] validator, System.Func`2[T,TResult] priorityGetter, System.Boolean lookInHaulSources) [0x0013c] in <31482697ada14932981abc5e76101d5d>:0
at Verse.GenClosest.ClosestThingReachable (Verse.IntVec3 root, Verse.Map map, Verse.ThingRequest thingReq, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator, System.Collections.Generic.IEnumerable`1[T] customGlobalSearchSet, System.Int32 searchRegionsMin, System.Int32 searchRegionsMax, System.Boolean forceAllowGlobalSearch, Verse.RegionType traversableRegionTypes, System.Boolean ignoreEntirelyForbiddenRegions, System.Boolean lookInHaulSources) [0x00147] in <31482697ada14932981abc5e76101d5d>:0
at ExpandedRoofing.ClosestThingReachableHelper.ClosestThingReachableWrapper (Verse.IntVec3 root, Verse.Map map, Verse.ThingRequest thingReq, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator, System.Collections.Generic.IEnumerable`1[T] customGlobalSearchSet, System.Int32 searchRegionsMin, System.Int32 searchRegionsMax, System.Boolean forceAllowGlobalSearch, Verse.RegionType traversableRegionTypes, System.Boolean ignoreEntirelyForbiddenRegions, System.Boolean lookInHaulSources) [0x00010] in <21baee2048cb405ab6be64493b9b22bf>:0
at RimWorld.JobGiver_Work.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00678] in <31482697ada14932981abc5e76101d5d>:0
- TRANSPILER rimworld.whyisthat.expandedroofing.fixbuildorder: IEnumerable`1 ExpandedRoofing.FixFinishFrameBuildOrder:Transpiler(IEnumerable`1 instructions)
- TRANSPILER SmarterConstruction: List`1 SmarterConstruction.Patches.PatchMakeFinishFramesPrioritized:Transpiler(IEnumerable`1 instructions, ILGenerator generator)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.UnityEngine.StackTraceUtility.ExtractStackTrace_Patch1()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Log.Error_Patch2(System.String)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.RimWorld.JobGiver_Work.TryIssueJobPackage_Patch2(RimWorld.JobGiver_Work, Verse.Pawn, Verse.AI.JobIssueParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_Priority.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_Tagger.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_Subtree.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_Priority.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_Conditional.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Core, Assembly-CSharp.dll] Verse.AI.ThinkNode_Priority.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1(Verse.AI.Pawn_JobTracker, Verse.ThinkTreeDef&, System.Boolean)
[Core, Assembly-CSharp.dll] Verse.AI.Pawn_JobTracker.TryFindAndStartJob()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch3(Verse.AI.Pawn_JobTracker, Verse.AI.JobCondition, System.Boolean, System.Boolean)
[Core, Assembly-CSharp.dll] Verse.AI.Pawn_JobTracker.JobTrackerTickInterval(System.Int32 delta)
[Core, Assembly-CSharp.dll] Verse.Pawn.TickInterval(System.Int32 delta)
[Core, Assembly-CSharp.dll] Verse.Thing.DoTick()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.TickList.Tick_Patch2(Verse.TickList)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.TickManager.DoSingleTick_Patch4(Verse.TickManager)
[Core, Assembly-CSharp.dll] Verse.TickManager.TickManagerUpdate()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Game.UpdatePlay_Patch2(Verse.Game)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Root_Play.Update_Patch1(Verse.Root_Play)
Last edited by Kenny Dave; Sep 1 @ 4:35pm
Rovstam Sep 1 @ 4:54pm 
Originally posted by Kenny Dave:

- TRANSPILER rimworld.whyisthat.expandedroofing.fixbuildorder: IEnumerable`1 ExpandedRoofing.FixFinishFrameBuildOrder:Transpiler(IEnumerable`1 instructions)
- TRANSPILER SmarterConstruction: List`1 SmarterConstruction.Patches.PatchMakeFinishFramesPrioritized:Transpiler(IEnumerable`1 instructions, ILGenerator generator)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.UnityEngine.StackTraceUtility.ExtractStackTrace_Patch1()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Log.Error_Patch2(System.String)

I am no modder but the offender mods are listed above.

-Expanded roofing
-Smarter construction
Rovstam Sep 1 @ 4:58pm 
- PREFIX net.pardeike.rimworld.mods.achtung: Boolean AchtungMod.HaulAIUtility_PawnCanAutomaticallyHaulFast_Patch:Prefix(Pawn p, Thing t, Boolean forced, Boolean& __result)
at AllowTool.WorkGiver_HaulUrgently+<PotentialWorkThingsGlobal>d__3.MoveNext () [0x00052] in

Also achtung. Why you run that mod with allow tool? Achtung has the same functionalities than it. The fact that your save got wiped it's entirely your fault and none inherent to allow tool.

My red errors are... strange, but something that escapes the scope of my knowledge. Hence why i posted it.
Originally posted by Rovstam:
Achtung has the same functionalities than it. The fact that your save got wiped it's entirely your fault and none inherent to allow tool.

My red errors are... strange, but something that escapes the scope of my knowledge. Hence why i posted it.

This is a ridiculous comment and I won't be engaging with it.
Rovstam Sep 1 @ 7:23pm 
Yeah i pulled half of it from my ass. Just read the log and it (usually) says the offending mods.
Rovstram: You don't know how to read logs. And there's never any reason to post messages like you have, even if you do have a clue. Just because a name is in a log does not mean it's responsible. I don't have any visible build commands queued.

Anyone not named Rovstram: If the mod author or anyone else can offer any useful advice, then that's great. I don't know if it's this mod or something else. If others are not experiencing the issue, and I wasn't until recently, then maybe there's something I can delete either in game or from the save file.
Rovstam Sep 2 @ 11:22am 
You might be right, and please say my name correctly, Keffy Cake.
< >
Showing 1-10 of 10 comments
Per page: 1530 50