Closed Caaz closed 1 year ago
Seems like multiple weavers can try to reserve a corpse causing an issue with the jobgiver.
Typhon_Weaver_Race1966 started 10 jobs in one tick. newJob=TyphonCreatePhantom (Job_5450) A=Thing_Corpse_Human2885 jobGiver=Typhon.JobGiver.CreatePhantom jobList=(TyphonCreatePhantom (Job_5440) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5441) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5442) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5443) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5444) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5445) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5446) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5447) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5448) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5449) A=Thing_Corpse_Human2885) (TyphonCreatePhantom (Job_5450) A=Thing_Corpse_Human2885) UnityEngine.StackTraceUtility:ExtractStackTrace () Verse.Log:Error (string) Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver) Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:Notify_PatherArrived () Verse.AI.Pawn_PathFollower:PatherArrived () Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode) Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.Pawn_JobTracker:StartJob (Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.Pawn_JobTracker:JobTrackerTick () Verse.Pawn:Tick () Verse.TickList:Tick () Verse.TickManager:DoSingleTick () Verse.TickManager:TickManagerUpdate () Verse.Game:UpdatePlay () Verse.Root_Play:Update ()
Description
Seems like multiple weavers can try to reserve a corpse causing an issue with the jobgiver.
Log