边缘世界 RimWorld

边缘世界 RimWorld

Allow Tool
Rovstam 8 月 30 日 下午 2:50
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
< >
正在显示第 1 - 10 条,共 10 条留言
Rovstam 8 月 30 日 下午 2:50 
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 8 月 30 日 下午 2:51 
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 8 月 30 日 下午 2:52 
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 ()
Kenny Dave 9 月 1 日 上午 9:47 
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)
最后由 Kenny Dave 编辑于; 9 月 1 日 下午 4:35
Rovstam 9 月 1 日 下午 4:54 
引用自 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 9 月 1 日 下午 4:58 
- 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.
Kenny Dave 9 月 1 日 下午 5:11 
引用自 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 9 月 1 日 下午 7:23 
Yeah i pulled half of it from my ass. Just read the log and it (usually) says the offending mods.
Kenny Dave 9 月 2 日 上午 10:38 
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 9 月 2 日 上午 11:22 
You might be right, and please say my name correctly, Keffy Cake.
< >
正在显示第 1 - 10 条,共 10 条留言
每页显示数: 1530 50