RimWorld
Warhammer 40k - Genes and Psycasts (ABANDONED - USE NEWER VERSION IN DESCRIPTION)
System.NullReferenceException issue
Hello!
Since the latest update I encountered this exception:
(I tested it with only your mod and its dependencies on. Plus I have dev-mode enabled.)


Exception in BreadthFirstTraverse: System.NullReferenceException: Object reference not set to an instance of an object
at BEWH.RitualWorkGiver_DoBill.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x00031] in <cb73c2bfe2784b94856de5357dfd059a>:0
at RimWorld.JobGiver_Work+<>c__DisplayClass3_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00013] in <95de19971c5d40878d8742747904cdcd>:0
at Verse.RegionProcessorClosestThingReachable.RegionProcessor (Verse.Region reg) [0x000f2] in <95de19971c5d40878d8742747904cdcd>:0
at Verse.RegionTraverser+BFSWorker.BreadthFirstTraverseWork (Verse.Region root, Verse.RegionEntryPredicate entryCondition, Verse.RegionProcessor regionProcessor, System.Int32 maxRegions, Verse.RegionType traversableRegionTypes) [0x00054] in <95de19971c5d40878d8742747904cdcd>:0
at Verse.RegionTraverser.BreadthFirstTraverse (Verse.Region root, Verse.RegionEntryPredicate entryCondition, Verse.RegionProcessor regionProcessor, System.Int32 maxRegions, Verse.RegionType traversableRegionTypes) [0x00044] in <95de19971c5d40878d8742747904cdcd>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.RegionTraverser:BreadthFirstTraverse (Verse.Region,Verse.RegionEntryPredicate,Verse.RegionProcessor,int,Verse.RegionType)
Verse.RegionTraverser:BreadthFirstTraverse (Verse.Region,Verse.RegionProcessorDelegateCache,int,Verse.RegionType)
Verse.GenClosest:RegionwiseBFSWorker (Verse.IntVec3,Verse.Map,Verse.ThingRequest,Verse.AI.PathEndMode,Verse.TraverseParms,System.Predicate`1<Verse.Thing>,System.Func`2<Verse.Thing, single>,int,int,single,int&,Verse.RegionType,bool)
Verse.GenClosest:ClosestThingReachable (Verse.IntVec3,Verse.Map,Verse.ThingRequest,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>,System.Collections.Generic.IEnumerable`1<Verse.Thing>,int,int,bool,Verse.RegionType,bool)
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 ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()
< >
Εμφάνιση 1-10 από 10 σχόλια
BEWH.RitualWorkGiver_DoBill provided target Thing_BEWH_UndividedRitualSpot3472 but yielded no actual job for pawn Ark. The CanGiveJob and JobOnX methods may not be synchronized.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.Log:ErrorOnce (string,int)
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 ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()
Phonicmas  [δημιουργός] 28 Ιουλ 2023, 1:24 
What were you trying to do with the ritual spot when this happended?
Phonicmas  [δημιουργός] 28 Ιουλ 2023, 3:29 
Should be fixed
@Phonicmas Sorry, I had no time to check out your fix earlier.
The 'System.NullReferenceException:' issue seem to be fixed, but the other one persists.
The error appears when I place a ritual spot and choose a ritual in the Bills tab. The interesting thing is that this error only appears once per game session. I mean if I exit current playtrough and start a new colony the error doesn't appear anymore. But when I close the Rimworld and launch it again the error pops up once I do things I mentioned above.

BEWH.RitualWorkGiver_DoBill provided target Thing_BEWH_SlaaneshRitualSpot13366 but yielded no actual job for pawn Sands. The CanGiveJob and JobOnX methods may not be synchronized.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.Log:ErrorOnce (string,int)
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 ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
Verse.Root_Play:Update (
Phonicmas  [δημιουργός] 7 Αυγ 2023, 3:29 
Interesting, thanks for bringing it to my attention, seems like i made a logic error in either of my two job functions.
Phonicmas  [δημιουργός] 15 Αυγ 2023, 11:01 
I'm having trouble reproducing this error.

I open the game anew, start a quick dev game, place a ritual spot and choose a bill from the spot.

Does this still occur or did i do something wrong when trying to recreate it.
Try to select a pawn and right-click on a ritual spot after choosing a bill.

I've tried it right now and recieved this error again. (I manually re-downloaded your mode to be sure it is up-to-date)
Phonicmas  [δημιουργός] 15 Αυγ 2023, 14:09 
Ah, i managed to get it to appear and i think i might have finally fixed it, ill add once i finish giving pink horrors ranged attacks.
Also i made a new discord server for the mod for troubleshooting and error posting for more ease for me to look through.
@Phonicmas It seems that the problem is gone. Awesome, thank you!!

Ok, If I encounter another one, I'll write to you on your server then ;)
Phonicmas  [δημιουργός] 20 Αυγ 2023, 4:54 
Great and thanks!
< >
Εμφάνιση 1-10 από 10 σχόλια
Ανά σελίδα: 1530 50