GarwelGarwel / Celsius

RimWorld mod adding realistic thermodynamics
4 stars 7 forks source link

Strange Red Error message spam with Windows mod #38

Closed Alexsys closed 1 year ago

Alexsys commented 1 year ago

Exception ticking SimpleOpenWindow379358 (at (200, 0, 185)): System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary2[TKey,TValue].FindEntry (TKey key) [0x00008] in <eae584ce26bc40229c1b1aa476bfa589>:0 at System.Collections.Generic.Dictionary2[TKey,TValue].TryGetValue (TKey key, TValue& value) [0x00000] in :0 at Celsius.TemperatureUtility.TemperatureInfo (Verse.Map map) [0x00000] in <88aed5545fb044c1b8aeda3f00ac9d1e>:0 at Celsius.Setup.Room_Temperature_get (System.Single& result, Verse.Room instance) [0x00006] in <88aed5545fb044c1b8aeda3f00ac9d1e>:0 at (wrapper dynamic-method) Verse.Room.Verse.Room.get_Temperature_Patch1(Verse.Room) at OpenTheWindows.Building_Window.UpdateWindowTemperature () [0x0003d] in <6dd8b981f3ac47d0b8afdde5008f65e5>:0 at OpenTheWindows.Building_Window.TickRare () [0x0000b] in <6dd8b981f3ac47d0b8afdde5008f65e5>:0 at OpenTheWindows.Building_Window.Tick () [0x00082] in <6dd8b981f3ac47d0b8afdde5008f65e5>:0 at Verse.TickList.Tick () [0x0015c] in <95de19971c5d40878d8742747904cdcd>:0 UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch3 (string) Verse.TickList:Tick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch8 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch3 (Verse.Game) Verse.Root_Play:Update ()

it mentions there Celsius, and temperature, i presume it has something to do after the newest celsius update? thought i'd let you nkow :)

GarwelGarwel commented 1 year ago

When does it happen? Can you also share your mod list and loading order?

Alexsys commented 1 year ago

It's tough to tell, whether if it happens when you initially install windows on an unroofed building then it struggles calculating the temperature... then reloading the save sometimes makes it go away 50% of the times, then it comes back eventually.

and eventually goes away, but returns at times. I cant reproduce it by intent, other than it comes knocking sometimes big time when I enable dev console.

https://gist.github.com/Alexsys/d2e484ee40f9d4b123a025fdc952bbb1

list by rimpy

Alexsys commented 1 year ago

Just continued my session, it decides to attack again https://i.imgur.com/Cr5UKme.jpeg

btw, its a rustic window, incase it matters will update if the rest behave the same

Exception ticking SimpleOpenWindow2363036 (at (201, 0, 211)): System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary2[TKey,TValue].FindEntry (TKey key) [0x00008] in <eae584ce26bc40229c1b1aa476bfa589>:0 at System.Collections.Generic.Dictionary2[TKey,TValue].TryGetValue (TKey key, TValue& value) [0x00000] in :0 at Celsius.TemperatureUtility.TemperatureInfo (Verse.Map map) [0x00000] in <88aed5545fb044c1b8aeda3f00ac9d1e>:0 at Celsius.Setup.Room_Temperature_get (System.Single& result, Verse.Room instance) [0x00006] in <88aed5545fb044c1b8aeda3f00ac9d1e>:0 at (wrapper dynamic-method) Verse.Room.Verse.Room.get_Temperature_Patch1(Verse.Room) at OpenTheWindows.Building_Window.UpdateWindowTemperature () [0x0003d] in <6dd8b981f3ac47d0b8afdde5008f65e5>:0 at OpenTheWindows.Building_Window.TickRare () [0x0000b] in <6dd8b981f3ac47d0b8afdde5008f65e5>:0 at OpenTheWindows.Building_Window.Tick () [0x00082] in <6dd8b981f3ac47d0b8afdde5008f65e5>:0 at Verse.TickList.Tick () [0x0015c] in <95de19971c5d40878d8742747904cdcd>:0 UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string) Verse.TickList:Tick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch8 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch3 (Verse.Game) Verse.Root_Play:Update ()

GarwelGarwel commented 1 year ago

Does Windows load after Celsius? If so, try putting Celsius below Windows and see if it happens again.

Alexsys commented 1 year ago

yeah, windows is way down while celsius is up i use rimpy mod sorting, which kinda seems to put it alphabetically or unless author put it otherwise there

anyway it is below :)

GarwelGarwel commented 1 year ago

Have you tried placing Windows above Celsius? Did it help? In any case, I'm adding some more checks to make sure this error doesn't occur regardless.