Frame drop after on hour of game

Started by Akahito, January 07, 2020, 11:36:15 AM

Previous topic - Next topic

Akahito

Hi I installed some mods. Everything was fine until I started new. Now I get a massive frame drop after one hour of play. I tried to deinstall some of the mods but still hat the issue. Then I had the idea to use the dev panel to see what it is causing. And I found out that this message is spawning or better spamming the game:

System.NullReferenceException: Object reference not set to an instance of an object
at RimWorld.StatWorker_MarketValue.CalculatedBaseMarketValue (Verse.BuildableDef,Verse.ThingDef) <0x002ab>
at RimWorld.StatWorker_MarketValue.GetValueUnfinalized (RimWorld.StatRequest,bool) <0x0023f>
at RimWorld.StatWorker.GetValue (RimWorld.StatRequest,bool) <0x0014a>
at RimWorld.StatWorker.GetValueAbstract (Verse.BuildableDef,Verse.ThingDef) <0x0007e>
at RimWorld.StatExtension.GetStatValueAbstract (Verse.BuildableDef,RimWorld.StatDef,Verse.ThingDef) <0x0004d>
at Verse.ThingDef.get_BaseMarketValue () <0x0002b>
at RimWorld.IncidentWorker_QuestTradeRequest/<TryFindRandomRequestedThingDef>c__AnonStorey1.<>m__0 (Verse.ThingDef) <0x0002a>
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&) <0x00143>
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_Patch2 (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>

This message occurred ~170x in one minute. Sadly I don't see what Mod is causing it. Maybe can someone else identify the culprit?

Canute

Hi,
the storyteller try to give you a QuestTradeRequest and fail about the items for these quest "TryFindRandomRequestedThingDef".
Looks like a mod author didn't config some item's right so these process failed.

But it is impossible to say, what item's are at the selection for this quest.
A temp. fix would be to edit the safegame and delete this quest.
You can edit your safegame. Backup it before.
Open it with a texteditor.
Search 2 times for <incidentQueue>
Then you see a list of incident's.
It should be the first or second, maybe you see the word TradeRequest there.
Delete from <li> to </li>

But prolly a further TradeRequest would cause the same error again.

If you have passion, you can try to find the mod which cause the trouble.
When you are lucky the error happen from beginning, use the top right icon, Quickstart, to create pretty fast a test colony.
Use the dev tools Create incident (map) to get a traderequest, maybe try 1-2 more if the first one didn't give an error.
If you got an error, you can disable some mod that add items to the game, and try it again.

When no error at all comes, bad luck, since you can't disable mod for your current safegame, since it wouldn't load anymore about missing things.



Akahito

Thanks for the tips, will try out. And even if it is a temporary fix, it is a repeatable one  ;D

Akahito

It worked! Thanks for this (temporal) fix.
You are a kind of hero!