[Issue with either Fireplace Mod or Holy Washer] rimworld 0.18.1722 rev1196

Started by docssy, January 18, 2018, 07:15:23 PM

Previous topic - Next topic

docssy

Previous - https://ludeon.com/forums/index.php?topic=16120.msg392447#msg392447
Logs - https://ludeon.com/forums/index.php?topic=16120.msg392606#msg392606

Whoever wants to take a crack at what is going on? By the way - I WISH for next Christmas some better debug tools. If anyone wants to produce a tool that magically tells you what mod's methods override who, or what item on the ground belongs to x given mod, that would be amazeballs.

So what's the TL/DR. Draft folks. Undraft them. And it might (or might not) immediately crash the game hard. Sometimes it takes a couple undrafts.

If I first dev mode destroy the entire base, no crash. Any variation of leaving workbenches or half the base or items or what have you has been an utterly shameful experience in discovering that something in this list of mods is wrong, but I haven't a clue. And I came from Skyrim modding!

The hard part is not being able to prune the list of mods and still have a repeatable crash experience.

Mod List in order of priority. All mods are b18.
Quote
Core,
HugsLib,
Miscellaneous 'CORE',
Colony Manager,
Misc. Objects,
Misc. Robots,
Expanded Prosthetics and Organ Engineering,
A Dog Said...,
Rimfire,
Apparello 2,
FashionRIMsta,
Project Armory 20th Century,
Animal Feed Trough V1.1,
ARMORY ENHANCED,
Avoid Friendly Fire,
Barbed Wire,
Barn Stall V1.0,
Crash Landing,
SS Damage Indicators,
Death Rattle,
ED-Embrasures,
Fences And Floors,
Fireplace Mod V1.9B B18,
HelpTab,
High Tech Laboratory Facilities,
HolyWasher,
Hospitality,
Better Workbench Management,
Infused,
Just Ignore Me Passing,
Lush Meadow 1.1,
MiningCo. SpotlightTurret,
More vanilla factions,
Set-Up Camp,
Real Fog of War,
ResearchPal,
[RF] Archipelagos [b18],
[RF] Basic Bridges [b18],
[RF] Configurable Maps [b18],
[RF] Basic Bridges - Fishing Add-On [b18],
[RF] More Trait Slots [b18],
[RF] Scenarios [b18],
Industrial Rollers,
Misc. Robots++,
RunAndGun,
Wall Insulation Tweak,
SeedsPlease,
Simple sidearms,
Tech Advancing,
Temperature Tolerant,
Vanilla-Friendly Weapon Expansion,
VGP Vegetable Garden,
VGP_CoffeeTeaDrugs,
VGP Garden Fabrics,
VGP Garden Drinks,
VGP Garden Gourmet,
VGP Garden Medicine,
VGP More Veggies,
VGP Garden Resources,
VGP Garden Tools,
VGP Xtra Trees and Flowers,
[W] Boots and Gloves,
Autoclose Event Notifications,
Cooks Can Refuel,
Hand Me That Brick,
Harvest Everything!,
Food Alert

I have uploaded the full set of mod files, the config I am running, and the save, so that anyone who wants to take a fair shot at this just has to backup their stuff and substitute my setup.

https://drive.google.com/drive/folders/1as3U3H4kLE4lNvAC3tAt_-JSPtPQBG3c (still uploading the mod files. Should be 100% loaded by 930PM EST)

My work.

#1. Remove ALL work jobs (priorities) from all pawns. Undraft. Boom no more UI
https://pastebin.com/erBBGJR4

#2. Remove ALL manager jobs only. Undraft. Boom.
https://pastebin.com/JMNW92x0

#3. Remove ALL jobs and ALL manager jobs. Undraft. Boom.
https://pastebin.com/7CXZdJzy

#4. Remove ALL workstations - keeping all jobs. Undraft. Took a few undrafts, but Boom.
https://pastebin.com/saYD9J7j

#5. Dev Mode remove fog and cancel all tasked jobs (mining, cutting, etc). Undraft a couple times. Boom.
https://pastebin.com/ut9W0FnK

#6. Dev Mode remove.... the base. No crash! Interesting.... working backwards now....
But I deleted a raider so I gotta check that first

#7. Above, but keeping the dead raider. Still good. Must be an object....

#8. Remove HALF the base (south half=cooking). Boom.
https://pastebin.com/SnZVx44B

#9. Try the other half. Boom.
https://pastebin.com/7Wfi5taT

#10. Try to destroy all workstations and blueprints. Boom.
https://pastebin.com/QevcbZmm

#11. Destroy only the ITEMS lying around in base.  Boom.
https://pastebin.com/ErxbtLMU

Well this is getting frustrating.

#12. Let's try something radical. Removed all stockpiles. Boom.
https://pastebin.com/BTEVnf25

BrokenValkyrie

Does this happen in new game?

Logs seems to be complaining about entity that are no longer existing. Also mods like [RF] Basic Bridges - Fishing Add-On [b18] are not save compatible because they introduce new work type. This messes up the UI and pawn behavior unless you start a new game.

docssy

I've started a few fresh colonies and after getting to a somewhat 'ok' base (no research done, the essentials in place) - just seem to always hit this crash wall.

I'm digging around https://github.com/josh-m/RW-Decompile right now, just floundering in the ocean maybe trying to pick out the one mod that might be patching over a method, and I just noticed this line in my log file for the first Object Reference error

Quoteat (wrapper dynamic-method) RimWorld.Pawn_DraftController.set_Drafted_Patch1 (object,bool) <0x000c0>

Fast forward to https://github.com/josh-m/RW-Decompile/blob/master/RimWorld/Pawn_DraftController.cs and set_Drafted_Patch1 doesn't exist in the rimworld decompiled source.

So that's interesting. More research necessary.

BrokenValkyrie

Avoid friendly fire, run and gun and simple side arm. Potentially affect drafting of pawn.

docssy

Yeah. I noticed the source for run and gun had a patch for draft controller. Disabled that mod. Still crashed undrafting.

I'll try the other two now

jamaicancastle

Quote from: docssy on January 18, 2018, 08:28:39 PM
Quoteat (wrapper dynamic-method) RimWorld.Pawn_DraftController.set_Drafted_Patch1 (object,bool) <0x000c0>

Fast forward to https://github.com/josh-m/RW-Decompile/blob/master/RimWorld/Pawn_DraftController.cs and set_Drafted_Patch1 doesn't exist in the rimworld decompiled source.
The _Patch1 indicates a Harmony patch that a mod is running that modifies that method. It won't show up in the original code because it's a separate method that is run either immediately before or immediately after the original one.

The immediate source of the problem tends to be the highest up on the list, although that can be deceptive if there's bad information being passed up the chain. In this case it looks like an invalid JobDriver is being called for, which is causing both Job.MakeDriver and PawnUtility.GetPosture to choke. (That, or the game has the supreme misfortune of having two critical errors pop up in the same tick...)

Unfortunately there doesn't seem to be an obvious way to determine what driver it thinks it's trying to call. I'd start with mods that add new work types or the like.

docssy

Avoid Friendly Fire also patches. Removed......and crash.

docssy

Simple Sidearms..... doesn't appear to patch based on a quick look at the source, but lets see. Disabled and.... crash

docssy

Although of note in the newest log, the first error has changed - so I must of disabled the mod that patched

Quote
System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.AI.Job.MakeDriver (Verse.Pawn driverPawn) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_JobTracker.StartJob (Verse.AI.Job newJob, JobCondition lastJobEndCondition, Verse.AI.ThinkNode jobGiver, Boolean resumeCurJobAfterwards, Boolean cancelBusyStances, Verse.ThinkTreeDef thinkTree, Nullable`1 tag, Boolean fromQueue) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_JobTracker.EndCurrentJob (JobCondition condition, Boolean startNewJob) [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_DraftController.set_Drafted (Boolean value) [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_DraftController+<GetGizmos>c__Iterator0.<>m__0 () [0x00000] in <filename unknown>:0
  at Verse.Command_Toggle.ProcessInput (UnityEngine.Event ev) [0x00000] in <filename unknown>:0
  at Verse.GizmoGridDrawer.DrawGizmoGrid (IEnumerable`1 gizmos, Single startX, Verse.Gizmo& mouseoverGizmo) [0x00000] in <filename unknown>:0
  at RimWorld.InspectGizmoGrid.DrawInspectGizmoGridFor (IEnumerable`1 selectedObjects) [0x00000] in <filename unknown>:0

Harry_Dicks

Kinda off topic but I believe you should put EPOE at the very end of your mod list, at least that's what the author recommends. You know if you use Fluffy's WorkTab, and say you start a fresh game with the only mod as WorkTab. Then, as you slowly add in mods, maybe even one at a time, you can see if they add a new work type because there will be a special symbol in the box where you put a work priority. That symbol means that there are sub-categories of work types that are not the same for a specific category. An example would be in crafting. In crafting you could have your crafters smelt first, then cut rocks, and then craft whatever else (something that is not regular order for vanilla.) You can press ctrl+left click on the work category for it to expand and you can see what new work types were added, as they will have either a blank or 3 in the new slow. I know if I have for example a pawn with crafting set to 1, and I add some mods that adds a new crafting work type, I can expand the crafting work types then, and anything not marked as a 1, would have been a new work type added.

I'm sure there is a much better way to see new work types added, but this is what comes to mind that would let me see what was added in game. I would also highly, highly recommend ModSwitch. It will let you save/edit/delete mod lists from in game, potentially saving you tons of freaking time when you are trying to narrow down a problem like this with the process of elimination.

docssy

#10
@Harry_Dicks - Noted Thank you.

I'm working backwards now, reenabling the set of three mods to find the one that is patching that method. I'll eliminate that mod for a new colony and see if the bug comes back.

Edit - Avoid Friendly Fire is the one it looks like. Removed. Now for a new colony =\
Edit2 - Actually, I just had a thought. AFF has a button to disable. I'm re-adding it and trying that first.
Edit3 - Bah. That didn't work. Back to disabling AFF and a new colony...

Harry_Dicks


docssy

#12
So I think it's NOT Avoid Friendly Fire. Had some weird symptoms I think that might be related to unassigning Fishing completely via Work Tab (see worktab) and another round of draft/undraft caused another crash.

First error
Quote
System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.AI.Job.ToString () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_JobTracker.StartJob (Verse.AI.Job newJob, JobCondition lastJobEndCondition, Verse.AI.ThinkNode jobGiver, Boolean resumeCurJobAfterwards, Boolean cancelBusyStances, Verse.ThinkTreeDef thinkTree, Nullable`1 tag, Boolean fromQueue) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_JobTracker.EndCurrentJob (JobCondition condition, Boolean startNewJob) [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_DraftController.set_Drafted (Boolean value) [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_DraftController+<GetGizmos>c__Iterator0.<>m__0 () [0x00000] in <filename unknown>:0
  at Verse.Command_Toggle.ProcessInput (UnityEngine.Event ev) [0x00000] in <filename unknown>:0
  at Verse.GizmoGridDrawer.DrawGizmoGrid (IEnumerable`1 gizmos, Single startX, Verse.Gizmo& mouseoverGizmo) [0x00000] in <filename unknown>:0
  at RimWorld.InspectGizmoGrid.DrawInspectGizmoGridFor (IEnumerable`1 selectedObjects) [0x00000] in <filename unknown>:0

Rest @ https://pastebin.com/sAiFSebF

I guess the logical thing to do is to disable Run&Gun as well, for now. On to another map

iamtheplatypus

Try removing the fireplace mod thats what I had to do in my load order.

docssy

#14
So another crash. Run&Gun is not the culprit. The colony was really pathetic this time around so not a lot of stuff built

@iamtheplatypus I didn't even have a fireplace built in this one, so I'm hesitant to remove it right now.

I'm at a loss =\. This colony lasted hours and hours, so I'm thinking it might be the Plant Processing Bench that's about the only consistent thing right now.
No Plant Processing Bench nevermind that. Just the Stove, Manager Desk, Butcher and the Electric Tailor Bench

Interesting.......... I might have a new lead. It might be an "idle job" such as Wander, Stargaze, Play Horseshoes, Visit Burial Plot. I don't think it's those ones specifically, but another nameless idle that's causing it.

So Idle = Joy. Ok. So these are the joy granting mods left on the list

  • Fireplace Mod
  • Hospitality
  • Vegetable Garden
  • Vegetable Garden+Drinks
  • Vegetable Garden+Gourmet

Trying without Fireplace Mod now. I took a look at the thread for it and it really hasn't changed since A16. Also dropped Holy Washer, just because I never used it before B18.