Hardcore-SK icon indicating copy to clipboard operation
Hardcore-SK copied to clipboard

creating a caravan lowers the fps to 1 on game speed > 1 and the game stutters.

Open XeonPhobia opened this issue 2 years ago • 8 comments

Development version 2022dec09 01:01:18 and the two versions prior to that are affected.

XeonPhobia avatar Jan 07 '23 13:01 XeonPhobia

post your hugslib log, i havnt encountered this, there could be a conflict or error in the background

TheLoneTec avatar Jan 07 '23 13:01 TheLoneTec

https://gist.github.com/5439828241d826dc5fc6b36853397405

Here is my hugslib log.

XeonPhobia avatar Jan 10 '23 09:01 XeonPhobia

https://gist.github.com/e1ee0b9fbe9c9eef54493a392b8fa1d0

AlienRace encountered an error processing food Pawn: dromedary 2 | Dromedary Food: Rawsugarcane | Rawsugarcane | Core SK System.NullReferenceException: Object reference not set to an instance of an object at (wrapper dynamic-method) AlienRace.HarmonyPatches.AlienRace.HarmonyPatches.ThoughtsFromIngestingPostfix_Patch0(Verse.Pawn,Verse.Thing,Verse.ThingDef,System.Collections.Generic.List1<RimWorld.FoodUtility/ThoughtFromIngesting>&) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string) (wrapper dynamic-method) AlienRace.HarmonyPatches:AlienRace.HarmonyPatches.ThoughtsFromIngestingPostfix_Patch0 (Verse.Pawn,Verse.Thing,Verse.ThingDef,System.Collections.Generic.List1<RimWorld.FoodUtility/ThoughtFromIngesting>&) (wrapper dynamic-method) RimWorld.FoodUtility:RimWorld.FoodUtility.ThoughtsFromIngesting_Patch1 (Verse.Pawn,Verse.Thing,Verse.ThingDef) RimWorld.FoodUtility:WillGiveNegativeThoughts (Verse.Thing,Verse.Pawn) (wrapper dynamic-method) RimWorld.Dialog_FormCaravan:RimWorld.Dialog_FormCaravan.GetFoodScore_Patch0 (RimWorld.Dialog_FormCaravan,Verse.Pawn,Verse.Thing,System.Collections.Generic.List1<Verse.Pair2<int, int>>) RimWorld.Dialog_FormCaravan:BestFoodItemFor (Verse.Pawn,System.Collections.Generic.IEnumerable1<RimWorld.TransferableOneWay>,System.Collections.Generic.List1<Verse.Pair`2<int, int>>) RimWorld.Dialog_FormCaravan:SelectApproximateBestTravelSupplies () RimWorld.Dialog_FormCaravan:CountToTransferChanged () RimWorld.Dialog_FormCaravan:DoWindowContents (UnityEngine.Rect) Verse.Window:InnerWindowOnGUI (int) UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)

Here is a hugslib log where I managed to capture errors that makes the game lag.

XeonPhobia avatar Jan 12 '23 21:01 XeonPhobia

Rhino_Wooly118217 started 10 jobs in one tick. newJob=Ingest (Job_375605) A=Thing_Rawonion118265 jobGiver=RimWorld.JobGiver_GetFood jobList= UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string) Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver) (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<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) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker: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) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker) (wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch2 (Verse.Pawn) Verse.TickList:Tick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch1 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game) Verse.Root_Play:Update ()

XeonPhobia avatar Jan 17 '23 13:01 XeonPhobia

Does this error occur when you create a caravan with food? Because I encounter the same error, because hungry animals try to eat the nearest available food and the nearest in their own inventory, which they can't access.

pacas avatar Jan 17 '23 14:01 pacas

Hmm, I'll have a look at Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1

At some point, see if i can see something that patch is messing up

TheLoneTec avatar Jan 17 '23 14:01 TheLoneTec

this is related to a animal trying ot eat food in its inventory. you have to do some patch tp prevent them from checking inventory. think something in HSK cause this

sidfu avatar Jan 17 '23 16:01 sidfu

this is related to a animal trying ot eat food in its inventory. you have to do some patch tp prevent them from checking inventory. think something in HSK cause this

Yes, I think the first error message is that, however the other one "Rhino_Wooly118217 started 10 jobs in one tick." occured when there were no caravan on the map, so that one must be caused by something else.

XeonPhobia avatar Jan 17 '23 21:01 XeonPhobia

This issue is stale because it has been open for 14 days with no activity.

github-actions[bot] avatar Jul 06 '24 01:07 github-actions[bot]

This issue was closed because it has been inactive for 1 days since being marked as stale.

github-actions[bot] avatar Jul 07 '24 02:07 github-actions[bot]