How can I find out what is causing these crashes?

Started by Draconzis, August 06, 2020, 01:24:41 PM

Previous topic - Next topic

Draconzis

Simply put, my game keeps freezing indefinitely and I do not know why. I have the debug log happen as it crashes, but it doesn't  update in time to show the cause. Usually a restart would fix the problem, but now in my save it happens consistently, no way around it. My question is, how can I possibly find out which of my 200+ mods is doing this?

Canute

When rimworld crash's you may notice the difference, a special crash folder will be created with a memory dump (unimportant), error.log and player.log.
Both log's can give you mosttimes a good hint about the crash.

But when you don't a crash it is hard to say.
Do you have error's at Rimworld startup.
- You should avoid this, that just show one or more mods cause problems or you are missing something.
Do you have error's special repeating error's during gameplay.
Does the player.log is extremly big (some mod spam debug messages).
Does rimworld use alot of memory (more then 2-4GB RAM ) ? (memory leak of mod).

When an error happen during gameplay, and the error's text don't give any hint about a mod, it is impossible for a player to find the problem.


Draconzis

I do not believe this is causing the crashes, but whenever a pawn has nothing to do for a prolonged peierod of time, the log keeps getting spammed with the following, spamming it at such a high speed it causes the game to slow down significantly.
Exception ticking Yotty (at (145, 0, 138)): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.AI.Job.ToString () [0x00000] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.Verse.AI.Pawn_JobTracker.StartJob_Patch2(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)
  at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () [0x000bd] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.AI.Pawn_JobTracker.JobTrackerTick () [0x001b6] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at (wrapper dynamic-method) Verse.Pawn.Verse.Pawn.Tick_Patch1(Verse.Pawn)
  at Verse.TickList.Tick () [0x0015c] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
Verse.Log:Error(String, Boolean)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Verse.Game.UpdatePlay_Patch1(Game)
Verse.Root_Play:Verse.Root_Play.Update_Patch1(Root_Play)

Canute

But that allready indicate something is wrong.
At first be sure you have no error's after rimworld startup (before you even load a safegame).
Or at last be sure these error's are unavoidable (responce from the mod author).
Better don't use mod's they cause errors, less risk for trouble later.

At the log window you prolly find a green "Share log" button, use it open it at the browser and use the browser search for "StartJob_Patch2"
Maybe you find an entry at the patch list before you will find it at the error itself.
The patch entry could give you a hint about what mod did it.


thunderstorrm

I'm not an expert but I'd start by removing a mod or two and then try it again... I'd remove mods that do anything to change jobs and or mods that change objects. but just do a couple and then start it up (i know... takes forever) and maybe write down which ones you removed so if nothing changes you can add them back in. When you find the bad one, you leave it off. I recently updated to 1.2 and had to go through my whole mod list, organize in correct order and I removed almost all the 1.1 mods that had not been updated and now my game is working. Also you might go through your mod order and make sure that's correct. I've found often it's more about mod order than about individual mods. however if you had them all in that order for a long time and everything was working, it may be that a mod maker updated their mod and that mod messed up in your game. There is no easy way to find which mod caused what. It's a time consuming thing of trial and error till you get that bad one off.