RimWorld

RimWorld

Pick Up And Haul Unoffical (1.6)
moo 29 Jun @ 6:31pm
1.6 infinite recusion log recovering job
I'm starting here as it would be good to confirm if PUAH is failing to handle this

Situation is that a maddened wild boar attacked a pawn that abandoned their job in order to shoot at the boar. The instant the boar went into melee with this pawn, the log exploded with an infinite recusion trying to recover a job.

It's entirely possible that this is the fault of another mod, but because of other PUAH issues currently, if you could review. Thanks

https://pastebin.com/squdENMm
Last edited by moo; 29 Jun @ 6:31pm
< >
Showing 1-4 of 4 comments
moo 29 Jun @ 6:33pm 
To add, even while drafted that pawn is still dumping logs
moo 29 Jun @ 6:35pm 
And finally, I put that pawn out of melee range (another character was drafted to take their place), continued to dump logs while trying to fire at the boar. Only when this pawn was removed from the fight (past a door) did they resume normal job things and the log stopped
I'm having an infinite looping job on the mech gestator. Wondering if you think it could be PUAH @moo

https://imgur.com/a/fwoBA4G

I set resurrect light mechanoid bill to do forever.

Mechanitor resurrects light mechanoid, and then starts new gestation cycle seemingly without a mechanoid corpse and without removing waste from gestator.

New gestation cycle starts but does not say what gestator contains.

When cycle completes, throws error Exception ticking MechGestator126366 (at (148, 0, 153)): System.NullReferenceException: Object reference not set to an instance of an object
[Ref A22D129A]

When mechanitor goes to initiate mech birth, throws error JobDriver threw exception in toil FinishRecipeAndStartStoringProduct's initAction for pawn Lambor driver=JobDriver_DoBill (toilIndex=14) driver.job=(DoBill (Job_1388527) A = Thing_MechGestator126366 Giver = ThinkNode_QueuedJob [workGiverDef: DoBillsMechGestator])
System.NullReferenceException: Object reference not set to an instance of an object
[Ref A93C9862]

Mechanitor alternates between "standing" and "initiating mech birth" and loops that job, continuously throwing second error.

Errors in full:

Exception ticking MechGestator126366 (at (148, 0, 153)): System.NullReferenceException: Object reference not set to an instance of an object
[Ref A22D129A]
at RimWorld.Bill_ResurrectMech.CreateProducts () [0x0000b] in <7a4ff24096e646578ec80b030e4544b3>:0
at RimWorld.Building_MechGestator.Notify_FormingCompleted () [0x00000] in <7a4ff24096e646578ec80b030e4544b3>:0
at RimWorld.Bill_Mech.BillTick () [0x00066] in <7a4ff24096e646578ec80b030e4544b3>:0
at RimWorld.Building_WorkTableAutonomous.Tick () [0x00016] in <7a4ff24096e646578ec80b030e4544b3>:0
at RimWorld.Building_MechGestator.Tick () [0x00000] in <7a4ff24096e646578ec80b030e4544b3>:0
at Verse.Thing.DoTick () [0x0007b] in <7a4ff24096e646578ec80b030e4544b3>:0
at Verse.TickList.Tick () [0x00139] in <7a4ff24096e646578ec80b030e4544b3>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch3 (string)
Verse.TickList:Tick ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()


JobDriver threw exception in toil FinishRecipeAndStartStoringProduct's initAction for pawn Lambor driver=JobDriver_DoBill (toilIndex=14) driver.job=(DoBill (Job_1388527) A = Thing_MechGestator126366 Giver = ThinkNode_QueuedJob [workGiverDef: DoBillsMechGestator])
System.NullReferenceException: Object reference not set to an instance of an object
[Ref A93C9862]
at Verse.GenRecipe.PostProcessProduct (Verse.Thing product, Verse.RecipeDef recipeDef, Verse.Pawn worker, RimWorld.Precept_ThingStyle precept, Verse.ThingStyleDef style, System.Nullable`1[T] overrideGraphicIndex) [0x000b5] in <7a4ff24096e646578ec80b030e4544b3>:0
- POSTFIX com.inspirationtweaks.patch: Void InspirationTweaks.DeliciousMeals:Postfix(Thing product, Pawn worker)
at Verse.GenRecipe+<FinalizeGestatedPawns>d__1.MoveNext () [0x00028] in <7a4ff24096e646578ec80b030e4544b3>:0
at System.Collections.Generic.List`1[T].AddEnumerable (System.Collections.Generic.IEnumerable`1[T] enumerable) [0x00059] in <51fded79cd284d4d911c5949aff4cb21>:0
<0x27a34528460 + 0x00242> <unknown method>
at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00018] in <1f993cbf88314b1baa1e10ca917bdc64>:0
at Verse.AI.Toils_Recipe+<>c__DisplayClass3_0.<FinishRecipeAndStartStoringProduct>b__1 () [0x00199] in <7a4ff24096e646578ec80b030e4544b3>:0
- TRANSPILER Andromeda.StackGap: IEnumerable`1 StorageUpperBound.ToilsRecipePatch:Transpiler(IEnumerable`1 instructions)
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x00203] in <7a4ff24096e646578ec80b030e4544b3>:0
- POSTFIX CM_Grab_Your_Tool: Void CM_Grab_Your_Tool.JobDriver_TryActuallyStartNextToil:Postfix(Pawn ___pawn, JobDriver __instance)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch3 (string)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.JobDriver.TryActuallyStartNextToil_Patch1 (Verse.AI.JobDriver)
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.JobDriver.TryActuallyStartNextToil_Patch1 (Verse.AI.JobDriver)
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.Toils_Recipe/<>c__DisplayClass2_0:<DoRecipeWork>b__2 (int)
Verse.AI.JobDriver:DriverTickInterval (int)
Verse.AI.Pawn_JobTracker:JobTrackerTickInterval (int)
Verse.Pawn:TickInterval (int)
Verse.Thing:DoTick ()
Verse.TickList:Tick ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()


I've been trying to reproduce the issue by clearing mod list to use only core/dlcs, then adding one by one the mods that touch the gestator but I so far I have not been able to find the cause

current modlist without reproducing the error:
https://imgur.com/gallery/STQbn2M

full list that does produce the error:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3503077058

I just switched to the alternate version of PUAH for 1.6
Last edited by JoeOwnage; 7 Jul @ 2:29pm
moo 7 Jul @ 7:21pm 
Yeah. This version of PUAH is not being maintained, mod author is MIA. The alternate PUAH should be used at the moment
< >
Showing 1-4 of 4 comments
Per page: 1530 50