RimWorld

RimWorld

Flickable Storage
Reianor 7 Aug, 2021 @ 9:59am
Flickering
Root level exception in OnGUI(): System.TypeInitializationException: The type initializer for 'FlickableStorage.FlickableStorage' threw an exception. ---> HarmonyLib.HarmonyException: Patching exception in method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() ---> System.Exception: Method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() returned an unexpected result: some element was null
at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func`2[T,TResult] failOnResult, System.Object[] parameters) [0x00117] in <c38a8c3281a047488dac8c9d063b7abb>:0
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0010f] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00082] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.<PatchAll>b__10_0 (System.Type type) [0x00007] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <c38a8c3281a047488dac8c9d063b7abb>:0
at FlickableStorage.FlickableStorage..cctor () [0x00098] in <00e7607a55854d86abcbeb8428a491e6>:0
--- End of inner exception stack trace ---
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsPositionLocked (Verse.IntVec3 position, Verse.Map map) [0x00020] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsItemLocked (Verse.Thing item) [0x0002d] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.Postfix (Verse.Thing& t, System.Boolean& __result) [0x00005] in <00e7607a55854d86abcbeb8428a491e6>:0
at (wrapper dynamic-method) RimWorld.ForbidUtility.RimWorld.ForbidUtility.IsForbidden_Patch1(Verse.Thing,RimWorld.Faction)
at RimWorld.ListerHaulables.ShouldBeHaulable (Verse.Thing t) [0x00006] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at (wrapper dynamic-method) RimWorld.ListerHaulables.RimWorld.ListerHaulables.Check_Patch0(RimWorld.ListerHaulables,Verse.Thing)
at RimWorld.ListerHaulables.RecalcAllInCell (Verse.IntVec3 c) [0x00019] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.SlotGroup.Notify_AddedCell (Verse.IntVec3 c) [0x00018] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at (wrapper dynamic-method) RimWorld.Zone_Stockpile.RimWorld.Zone_Stockpile.AddCell_Patch1(RimWorld.Zone_Stockpile,Verse.IntVec3)
at RimWorld.Designator_ZoneAdd.DesignateMultiCell (System.Collections.Generic.IEnumerable`1[T] cells) [0x001c1] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.DesignatorManager.ProcessInputEvents () [0x0012c] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.MapInterface.HandleMapClicks () [0x0000f] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at (wrapper dynamic-method) RimWorld.UIRoot_Play.RimWorld.UIRoot_Play.UIRootOnGUI_Patch2(RimWorld.UIRoot_Play)
at (wrapper dynamic-method) Verse.Root.Verse.Root.OnGUI_Patch1(Verse.Root)
Verse.Log:Verse.Log.Error_Patch2(String, Boolean)
Verse.Root:Verse.Root.OnGUI_Patch1(Root)

Root level exception in Update(): System.TypeInitializationException: The type initializer for 'FlickableStorage.FlickableStorage' threw an exception. ---> HarmonyLib.HarmonyException: Patching exception in method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() ---> System.Exception: Method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() returned an unexpected result: some element was null
at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func`2[T,TResult] failOnResult, System.Object[] parameters) [0x00117] in <c38a8c3281a047488dac8c9d063b7abb>:0
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0010f] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00082] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.<PatchAll>b__10_0 (System.Type type) [0x00007] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <c38a8c3281a047488dac8c9d063b7abb>:0
at FlickableStorage.FlickableStorage..cctor () [0x00098] in <00e7607a55854d86abcbeb8428a491e6>:0
--- End of inner exception stack trace ---
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsPositionLocked (Verse.IntVec3 position, Verse.Map map) [0x00020] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsItemLocked (Verse.Thing item) [0x0002d] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.Postfix (Verse.Thing& t, System.Boolean& __result) [0x00005] in <00e7607a55854d86abcbeb8428a491e6>:0
at (wrapper dynamic-method) RimWorld.ForbidUtility.RimWorld.ForbidUtility.IsForbidden_Patch1(Verse.Thing,RimWorld.Faction)
at RimWorld.ListerHaulables.ShouldBeHaulable (Verse.Thing t) [0x00006] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at (wrapper dynamic-method) RimWorld.ListerHaulables.RimWorld.ListerHaulables.Check_Patch0(RimWorld.ListerHaulables,Verse.Thing)
at (wrapper dynamic-method) RimWorld.ListerHaulables.RimWorld.ListerHaulables.ListerHaulablesTick_Patch0(RimWorld.ListerHaulables)
at Verse.Map.MapPreTick () [0x0000b] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.TickManager.DoSingleTick () [0x00011] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at (wrapper dynamic-method) Verse.TickManager.Verse.TickManager.TickManagerUpdate_Patch1(Verse.TickManager)
at (wrapper dynamic-method) Verse.Game.Verse.Game.UpdatePlay_Patch1(Verse.Game)
at Verse.Root_Play.Update () [0x00026] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
Verse.Log:Verse.Log.Error_Patch2(String, Boolean)
Verse.Root_Play:Update()



Dem's the console logs.

The good news is that this is 100% related to this mod becasue it went away as soon as I disabled it.
The bad news is I had 319 other mods enabled alongside it. And I know that solo this mod works, so this is a conflict.

I tested this with everything in my mod list that has storage or stockpile in it's name, and that worked before.

However this seems to be a hauling mod issue (and I added them later, after previous tests). I'm testing those now.
< >
Showing 1-4 of 4 comments
Reianor 7 Aug, 2021 @ 10:12am 
Ran the same but without the ones with haul in their name, and nope, still the same problem.
Reeeeeeeeaaaaaaly not feeling like doing a binary search among 319 mods to find what's casuing this. I'm in a "screw it, one less mod on my list and that's the end of it" mood...

Buuuuuut I still will do a binary.

I'd feel like to much of a jerk to run away with an unfinished bug report to a man who resurrected over half a thousand of mods.
Reianor 7 Aug, 2021 @ 11:02am 
FML it's a 3-way. More results incoming.
Reianor 7 Aug, 2021 @ 11:32am 
"Look, over there, it's a three-headed monkey!"

I found a second participant.
[XND]Forbiddable Debris (continued).

I narrowed it down to 115 mods from which removing either this or FD makes the problem go away. But, as expected running just this mod and FD does not by itself cause issues.

SO basicly something's funny with my chunks.
More incoming.
Reianor 7 Aug, 2021 @ 11:56am 
Gotem. Its:

Flickable storage + Preset Filtered Zones (Continued) + [XND] Forbiddable Debris (Continued)

3 of them along with core and harmony are casuing this for me (on 1.2)

But if I remove any one of them I get no such errors.

I get screen flickering when not on pause.
Colony map or world map flicker, many UI elements however do not.
Also when creating a stockpile only a part of the designated area actually becomes a stockpile.
And to be 100% clear - I'm using normal stockpile for these tests, not dumping one or pre-set one.

Here's a re-post of console logs from when I have just those 3 and harmony.

[FlickableStorage] Found storage-classes: RimWorld.Zone_Stockpile, RimWorld.Building_Storage, RimWorld.Building_Grave, RimWorld.Building_Sarcophagus, PresetFilteredZones.Zone_PresetStockpile
Verse.Log:Message(String, Boolean)
FlickableStorage.FlickableStorage:.cctor()
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor(IntPtr)
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor(RuntimeTypeHandle)
Verse.StaticConstructorOnStartupUtility:CallAll()
Verse.<>c:<DoPlayLoad>b__4_2()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Error in static constructor of FlickableStorage.FlickableStorage: System.TypeInitializationException: The type initializer for 'FlickableStorage.FlickableStorage' threw an exception. ---> HarmonyLib.HarmonyException: Patching exception in method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() ---> System.Exception: Method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() returned an unexpected result: some element was null
at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func`2[T,TResult] failOnResult, System.Object[] parameters) [0x00117] in <c38a8c3281a047488dac8c9d063b7abb>:0
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0010f] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00082] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.<PatchAll>b__10_0 (System.Type type) [0x00007] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <c38a8c3281a047488dac8c9d063b7abb>:0
at FlickableStorage.FlickableStorage..cctor () [0x00098] in <00e7607a55854d86abcbeb8428a491e6>:0
--- End of inner exception stack trace ---
at (wrapper managed-to-native) System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(intptr)
at System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (System.RuntimeTypeHandle type) [0x0002a] in <567df3e0919241ba98db88bec4c6696f>:0
at Verse.StaticConstructorOnStartupUtility.CallAll () [0x0001a] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
Verse.Log:Error(String, Boolean)
Verse.StaticConstructorOnStartupUtility:CallAll()
Verse.<>c:<DoPlayLoad>b__4_2()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Initializing new game with mods:
- brrainz.harmony
- Ludeon.RimWorld
- Mlie.FlickableStorage
- Mlie.PresetFilteredZones
- Mlie.XNDForbiddableDebris
Verse.Log:Message(String, Boolean)
Verse.Game:InitNewGame()
Verse.<>c:<Start>b__1_2()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:<UpdateCurrentAsynchronousEvent>b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()

Root level exception in OnGUI(): System.TypeInitializationException: The type initializer for 'FlickableStorage.FlickableStorage' threw an exception. ---> HarmonyLib.HarmonyException: Patching exception in method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() ---> System.Exception: Method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() returned an unexpected result: some element was null
at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func`2[T,TResult] failOnResult, System.Object[] parameters) [0x00117] in <c38a8c3281a047488dac8c9d063b7abb>:0
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0010f] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00082] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.<PatchAll>b__10_0 (System.Type type) [0x00007] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <c38a8c3281a047488dac8c9d063b7abb>:0
at FlickableStorage.FlickableStorage..cctor () [0x00098] in <00e7607a55854d86abcbeb8428a491e6>:0
--- End of inner exception stack trace ---
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsPositionLocked (Verse.IntVec3 position, Verse.Map map) [0x00020] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsItemLocked (Verse.Thing item) [0x0002d] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.Postfix (Verse.Thing& t, System.Boolean& __result) [0x00005] in <00e7607a55854d86abcbeb8428a491e6>:0
at (wrapper dynamic-method) RimWorld.ForbidUtility.RimWorld.ForbidUtility.IsForbidden_Patch1(Verse.Thing,RimWorld.Faction)
at RimWorld.ListerHaulables.ShouldBeHaulable (Verse.Thing t) [0x00006] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.ListerHaulables.Check (Verse.Thing t) [0x00000] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.ListerHaulables.RecalcAllInCell (Verse.IntVec3 c) [0x00019] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.SlotGroup.Notify_AddedCell (Verse.IntVec3 c) [0x00018] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.Zone_Stockpile.AddCell (Verse.IntVec3 sq) [0x0000f] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.Designator_ZoneAdd.DesignateMultiCell (System.Collections.Generic.IEnumerable`1[T] cells) [0x001c1] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.DesignatorManager.ProcessInputEvents () [0x0012c] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.MapInterface.HandleMapClicks () [0x0000f] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.UIRoot_Play.UIRootOnGUI () [0x00089] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.Root.OnGUI () [0x0003d] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
Verse.Log:Error(String, Boolean)
Verse.Root:OnGUI()

Root level exception in Update(): System.TypeInitializationException: The type initializer for 'FlickableStorage.FlickableStorage' threw an exception. ---> HarmonyLib.HarmonyException: Patching exception in method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() ---> System.Exception: Method static System.Collections.Generic.IEnumerable`1<System.Reflection.MethodBase> FlickableStorage.IHaulDestination_Accepts::TargetMethods() returned an unexpected result: some element was null
at HarmonyLib.PatchClassProcessor.RunMethod[S,T] (T defaultIfNotExisting, T defaultIfFailing, System.Func`2[T,TResult] failOnResult, System.Object[] parameters) [0x00117] in <c38a8c3281a047488dac8c9d063b7abb>:0
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0010f] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00082] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.<PatchAll>b__10_0 (System.Type type) [0x00007] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <c38a8c3281a047488dac8c9d063b7abb>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <c38a8c3281a047488dac8c9d063b7abb>:0
at FlickableStorage.FlickableStorage..cctor () [0x00098] in <00e7607a55854d86abcbeb8428a491e6>:0
--- End of inner exception stack trace ---
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsPositionLocked (Verse.IntVec3 position, Verse.Map map) [0x00020] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.IsItemLocked (Verse.Thing item) [0x0002d] in <00e7607a55854d86abcbeb8428a491e6>:0
at FlickableStorage.ForbidUtility_IsForbidden_Thing.Postfix (Verse.Thing& t, System.Boolean& __result) [0x00005] in <00e7607a55854d86abcbeb8428a491e6>:0
at (wrapper dynamic-method) RimWorld.ForbidUtility.RimWorld.ForbidUtility.IsForbidden_Patch1(Verse.Thing,RimWorld.Faction)
at RimWorld.ListerHaulables.ShouldBeHaulable (Verse.Thing t) [0x00006] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.ListerHaulables.Check (Verse.Thing t) [0x00000] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at RimWorld.ListerHaulables.ListerHaulablesTick () [0x0011d] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.Map.MapPreTick () [0x0000b] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.TickManager.DoSingleTick () [0x00011] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.TickManager.TickManagerUpdate () [0x0006a] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.Game.UpdatePlay () [0x00000] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
at Verse.Root_Play.Update () [0x00026] in <12a8d1a0a5a64eae86579edb3a3b30c7>:0
Verse.Log:Error(String, Boolean)
Verse.Root_Play:Update()
< >
Showing 1-4 of 4 comments
Per page: 1530 50