Troubleshooting an error causing my game to slow

Started by Niftykettles, November 03, 2019, 01:06:29 PM

Previous topic - Next topic

Niftykettles

So I get this repeatedly in the error log which I think is slowing my game down because it's constantly writing to the log file

System.NullReferenceException: Object reference not set to an instance of an object
at RimWorld.PlayerItemAccessibilityUtility.CacheAccessibleThings (int) <0x015d7>
at RimWorld.PlayerItemAccessibilityUtility.Accessible (Verse.ThingDef,int,Verse.Map) <0x00042>
at RimWorld.PlayerItemAccessibilityUtility.PossiblyAccessible (Verse.ThingDef,int,Verse.Map) <0x00044>
at RimWorld.IncidentWorker_QuestTradeRequest/<TryFindRandomRequestedThingDef>c__AnonStorey1.<>m__0 (Verse.ThingDef) <0x001b7>
at RimWorld.IncidentWorker_QuestTradeRequest/<TryFindRandomRequestedThingDef>c__AnonStorey1.<>m__1 (Verse.ThingDef) <0x00027>
at System.Linq.Enumerable/<CreateWhereIterator>c__Iterator1D`1<Verse.ThingDef>.MoveNext () <0x0016b>
at System.Collections.Generic.List`1<Verse.ThingDef>.AddEnumerable (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>) <0x000d7>
at System.Collections.Generic.List`1<Verse.ThingDef>..ctor (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>) <0x000e5>
at System.Linq.Enumerable.ToList<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>) <0x00070>
at Verse.GenCollection.TryRandomElement<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>,Verse.ThingDef&) <0x000df>
at RimWorld.IncidentWorker_QuestTradeRequest.TryFindRandomRequestedThingDef (Verse.Map,Verse.ThingDef&,int&) <0x00145>
at RimWorld.IncidentWorker_QuestTradeRequest.TryGenerateTradeRequest (RimWorld.Planet.TradeRequestComp,Verse.Map) <0x00095>
at RimWorld.IncidentWorker_QuestTradeRequest.TryExecuteWorker (RimWorld.IncidentParms) <0x000df>
at (wrapper dynamic-method) RimWorld.IncidentWorker.TryExecute_Patch1 (object,RimWorld.IncidentParms) <0x0005c>
at RimWorld.Storyteller.TryFire (RimWorld.FiringIncident) <0x0008e>
at RimWorld.IncidentQueue.IncidentQueueTick () <0x000c4>
at RimWorld.Storyteller.StorytellerTick () <0x0002f>
at Verse.TickManager.DoSingleTick () <0x00610>

Verse.Log:Error(String, Boolean)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Reached max messages limit. Stopping logging to avoid spam.
Verse.Log:Warning(String, Boolean)
Verse.Log:PostMessage()
Verse.Log:Error(String, Boolean)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()




I do play with mods but how can I track down which mod is causing this?

Thanks

Canute

Hi,
the storyteller want to give you a TradeRequest Quest, but it got trouble to calculate the items for these quest.
One or more of the mods add items with bad market values i think, but i am not sure about it.

But it is impossible to tell which mod cause it.
You can try at a test colony (when you got hugslib installed, enable developer mode, then the top right icon shift-click for a quickstart test colony) to execute a world incident Traderequest.
When the error appear again, you are lucky and can narrow down the mod.
Disable mod's that add new items to the game and start a new test colony and execute a new traderequest.
You can try if works with safegame of the 1. test colony.