[1.3.3055] Paws can't eat when Nutrient paste dispenser is on map

Started by Unplanned_Rimworlder, July 09, 2021, 04:00:45 PM

Previous topic - Next topic

Unplanned_Rimworlder

Circumstances:
Rimworld 1.3.3055 with no mods using an existing save and later a new start. 

What happened:
Pawns started dying from malnourishment.
Pawns on existing save were acting normal until Rimworld updated to 1.3.3055 from the 1.3 version available 24h prior. After the update, pawns stopped eating and feeding patients and prisoners. Between this and the flickering, others have reported I started a new game. Pawns behaved as usual until the Nutrient Paste Dispenser was built, then they stopped eating. Deconstructing the Dispenser resulted in pawns resuming normal behaviour in both the new game and the existing save.

What you expected:
Pawns should eat available food.

Steps to recreate:
Start new game build Nutrient Paste Dispenser

Vivian threw exception in WorkGiver FeedPrisoner: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.FoodUtility.GetMeatSourceCategory (Verse.ThingDef source) [0x00000] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.IsHumanlikeCorpseOrHumanlikeMeat (Verse.Thing source, Verse.ThingDef foodDef) [0x00017] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.IsHumanlikeCorpseOrHumanlikeMeatOrIngredient (Verse.Thing food) [0x0000a] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.ThoughtsFromIngesting (Verse.Pawn ingester, Verse.Thing foodSource, Verse.ThingDef foodDef) [0x001f3] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.FoodOptimality (Verse.Pawn eater, Verse.Thing foodSource, Verse.ThingDef foodDef, System.Single dist, System.Boolean takingToInventory) [0x000a0] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn eater, Verse.IntVec3 root, System.Collections.Generic.List`1[T] searchSet, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator) [0x00066] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.BestFoodSourceOnMap (Verse.Pawn getter, Verse.Pawn eater, System.Boolean desperate, Verse.ThingDef& foodDef, RimWorld.FoodPreferability maxPref, System.Boolean allowPlant, System.Boolean allowDrug, System.Boolean allowCorpse, System.Boolean allowDispenserFull, System.Boolean allowDispenserEmpty, System.Boolean allowForbidden, System.Boolean allowSociallyImproper, System.Boolean allowHarvest, System.Boolean forceScanWholeMap, System.Boolean ignoreReservations, System.Boolean calculateWantedStackCount, RimWorld.FoodPreferability minPrefOverride, System.Nullable`1[T] minNutrition) [0x001eb] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.TryFindBestFoodSourceFor (Verse.Pawn getter, Verse.Pawn eater, System.Boolean desperate, Verse.Thing& foodSource, Verse.ThingDef& foodDef, System.Boolean canRefillDispenser, System.Boolean canUseInventory, System.Boolean allowForbidden, System.Boolean allowCorpse, System.Boolean allowSociallyImproper, System.Boolean allowHarvest, System.Boolean forceScanWholeMap, System.Boolean ignoreReservations, System.Boolean calculateWantedStackCount, RimWorld.FoodPreferability minPrefOverride) [0x000a5] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.WorkGiver_Warden_Feed.JobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x0005a] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.WorkGiver_Scanner.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x00000] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.JobGiver_Work+<>c__DisplayClass3_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00013] in <0cd011d786f74fa1b512d1a64d687114>:0
  at Verse.GenClosest+<>c__DisplayClass2_0.<ClosestThingReachable>b__0 (Verse.Thing t) [0x00034] in <0cd011d786f74fa1b512d1a64d687114>:0
  at Verse.GenClosest.<ClosestThing_Global>g__Process|5_0 (Verse.Thing t, Verse.GenClosest+<>c__DisplayClass5_0& ) [0x00047] in <0cd011d786f74fa1b512d1a64d687114>: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) [0x0008d] in <0cd011d786f74fa1b512d1a64d687114>: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) [0x0014c] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.JobGiver_Work.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00415] in <0cd011d786f74fa1b512d1a64d687114>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
RimWorld.JobGiver_Work:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob (Verse.ThinkTreeDef&)
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 ()


Vivian threw exception in WorkGiver DoctorFeedHumanlikes: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.FoodUtility.GetMeatSourceCategory (Verse.ThingDef source) [0x00000] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.IsHumanlikeCorpseOrHumanlikeMeat (Verse.Thing source, Verse.ThingDef foodDef) [0x00017] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.IsHumanlikeCorpseOrHumanlikeMeatOrIngredient (Verse.Thing food) [0x0000a] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.ThoughtsFromIngesting (Verse.Pawn ingester, Verse.Thing foodSource, Verse.ThingDef foodDef) [0x001f3] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.FoodOptimality (Verse.Pawn eater, Verse.Thing foodSource, Verse.ThingDef foodDef, System.Single dist, System.Boolean takingToInventory) [0x000a0] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn eater, Verse.IntVec3 root, System.Collections.Generic.List`1[T] searchSet, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator) [0x00066] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.BestFoodSourceOnMap (Verse.Pawn getter, Verse.Pawn eater, System.Boolean desperate, Verse.ThingDef& foodDef, RimWorld.FoodPreferability maxPref, System.Boolean allowPlant, System.Boolean allowDrug, System.Boolean allowCorpse, System.Boolean allowDispenserFull, System.Boolean allowDispenserEmpty, System.Boolean allowForbidden, System.Boolean allowSociallyImproper, System.Boolean allowHarvest, System.Boolean forceScanWholeMap, System.Boolean ignoreReservations, System.Boolean calculateWantedStackCount, RimWorld.FoodPreferability minPrefOverride, System.Nullable`1[T] minNutrition) [0x001eb] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.FoodUtility.TryFindBestFoodSourceFor (Verse.Pawn getter, Verse.Pawn eater, System.Boolean desperate, Verse.Thing& foodSource, Verse.ThingDef& foodDef, System.Boolean canRefillDispenser, System.Boolean canUseInventory, System.Boolean allowForbidden, System.Boolean allowCorpse, System.Boolean allowSociallyImproper, System.Boolean allowHarvest, System.Boolean forceScanWholeMap, System.Boolean ignoreReservations, System.Boolean calculateWantedStackCount, RimWorld.FoodPreferability minPrefOverride) [0x000a5] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.WorkGiver_FeedPatient.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x00082] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.JobGiver_Work+<>c__DisplayClass3_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00013] in <0cd011d786f74fa1b512d1a64d687114>:0
  at Verse.GenClosest+<>c__DisplayClass2_0.<ClosestThingReachable>b__0 (Verse.Thing t) [0x00034] in <0cd011d786f74fa1b512d1a64d687114>:0
  at Verse.GenClosest.<ClosestThing_Global>g__Process|5_0 (Verse.Thing t, Verse.GenClosest+<>c__DisplayClass5_0& ) [0x00047] in <0cd011d786f74fa1b512d1a64d687114>: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) [0x0008d] in <0cd011d786f74fa1b512d1a64d687114>: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) [0x0014c] in <0cd011d786f74fa1b512d1a64d687114>:0
  at RimWorld.JobGiver_Work.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00415] in <0cd011d786f74fa1b512d1a64d687114>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
RimWorld.JobGiver_Work:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob (Verse.ThinkTreeDef&)
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 ()

jamhax

Same exact issue here. But started the savegame with the current game version.
Colonists don't use the dispenser or eat any other available food. They can be told though.
They also do not deliver any food to prisoners.

Pheanox


jamhax