RimWorld

RimWorld

Celsius
Praetorian 24 Aug, 2024 @ 5:21pm
Possible bug: Skipped update of temperatures because previous was still running
Warning log that is spammed once per second.
I have moved this to a thread to prevent further spam - please find my hugslib log attached below. It definitely started breaking after the multi-threading update, I have been playing on this colony for several days with Celsius enabled without any issues.

Disabling PerformanceOptimizer option compdefs did not help!
I'm thinking some orphaned thread is running in the background causing the Celsius multi-threading to break...

After turning on debug logging for Celsius I see this in the console too, indicating it IS doing updates, but the time stated varies wildly and usually the actual updates in between are much rarer than the MS count would indicate:
[Celsius] Updated temperatures for Map-0-PlayerHome 1 times at 11943.0 ms per update.
[Celsius] Updated temperatures for Map-0-PlayerHome 11 times at 7639.6 ms per update.


Issues on my current map:
- Geysers (and a geothermal generator) have temperatures exceeding 1000 degrees, despite being unroofed
- I had a winter that left the map covered in snow - I am now in summer and the snow has not melted, the cell temperatures across the map stay at -1 despite the global temperature being 20-30 degrees
- I have several areas indoors with (a different mod probably caused this) temperatures exceeding 40k, LWM's Minor Changes added heat emission to smelters and computers which caused a constant heat uptick every second that I missed until my colonists got burnt by entering the cell this was happening in (but the temperature in this cell never propagated to the neighboring cells, which I gather Celsius should have been doing)

Update: Removing Celsius and Celsius patches from my modlist immediately solved all above issues.

https://gist.github.com/HugsLibRecordKeeper/226e46cf8c7120b0318a5ec82eec0aed

Log output:
[Celsius] Skipped update of temperatures because previous was still running.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Warning_Patch1 (string)
Celsius.LogUtility:Log (string,Celsius.LogLevel)
Celsius.TemperatureInfo:MapComponentTick ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.MapComponentUtility.MapComponentTick_Patch0 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.MapPostTick_Patch0 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch8 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch7 (Verse.Game)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)
Last edited by Praetorian; 25 Aug, 2024 @ 2:02am
< >
Showing 1-15 of 20 comments
RocketRacoon 30 Aug, 2024 @ 2:39am 
https://gist.github.com/HugsLibRecordKeeper/757269cc524ee35030a58c05ef2b5596 Also having issues with a lot of logs. Game gets unplayable after this starts
Heya @Praetorian, it would be good to know what your hardware is, what mapsize you're on, what your CPU utilization is like in game, and what your Celsius settings are. A lack of temperature updates suggests either some mod incompatibility, or your PC being overloaded and not getting around to updating the temperatures. 12+ seconds per update is very very slow, on my machine it takes 10ms for a small quick test map.
Praetorian 30 Aug, 2024 @ 11:15pm 
Greets @LeTuM ✖ Blinky.
Regarding your questions:
- Default map size
- AMD Ryzen 5 7600 / 32GB RAM, 3090ti (it's not my pc)

I also run a tool called process lasso which helps cpu intensive software run smoothly, so this really shouldn't be an issue (although there might be some weird things happening because of it...).

I've been playing without celsius since the bug surfaced, it rendered the game unplayable unfortunately. The slow updates might also be something to do with the mod FrameRateControl?
Last edited by Praetorian; 1 Sep, 2024 @ 11:58am
It definitely seems like a timing or compatibility issue between mods. I've just tried the most likely candidates that patch methods adjacent to Celsius (CAI, Vehicles, VFE, Move Interaction Cell) and it still works flawlessly for me, with an average update time of 2ms. The bed issue and stuff also isn't happening. Snow melting also works, which is the only thing aside from spontanous combustion that even touches Rimworld memory.
What is probably happening is that an earlier function of Celsius (which should only be terrain temperature and terrain replacement) is crashing and can't run the cell temperature simulation that should run after those two. Since there's 400 mods in that modlist I can't narrow down at all what's causing it though.
What happened to me earlier when I updated Celsius was that PerformanceFish was acting up and causing my save game to crash when loading. I basically fixed it by uninstalling and reinstalling completely, since PF had some sort of cache I couldn't clear. The same modlist works after that. No idea what PF was doing
lol 5 Sep, 2024 @ 9:13am 
https://imgur.com/a/GcnEabc here's a modlist with which I've had a "+40C bed temperature" bug
MarkH 6 Sep, 2024 @ 7:32pm 
I'm seeing the "infinitely increasing heat" issue, too. Right now, it's with a sun lamp. It manages to reach well over 800C when it's on (but only on its own square) and often spontaneously combusts. I have a pretty long list of mods, so I'll start to mess with it and see if I can find evidence of a conflict.

In addition - I also see the "[Celsius] Skipped update of temperatures because previous was still running." message in the dev log.
Last edited by MarkH; 6 Sep, 2024 @ 7:36pm
MarkH 8 Sep, 2024 @ 6:48am 
Something I've noticed with my issue....
As I mentioned in my previous post, I'm seeing the "infinite heat" issue with a sunlamp. The lamp is off, but the square has gotten to about 1500F (apologies to the 99.9% of the rest of the world that doesn't use F) and stays there without any fluctuation. All surrounding squares are normal temps. Some cloth on the same square as the lamp spontaneously combusts and the temp continues to increase with the fire until a pawn extinguishes the fire. At that point, the temp on that square immediately drops down to about 480F, which I'm guessing is the temp the fire would have been on any normal square.
However, the temp never drops from that, even though all surrounding squares (which did increase with the fire) cool off over time. As soon as the sunlamp turns on, the temp starts increasing again.
It seems as though the heat at these squares isn't dissipating properly and just... lingers.
MarkH 8 Sep, 2024 @ 6:51am 
Hm.... I was wrong. The squares that burned aren't cooling off either.
Raruke 14 Sep, 2024 @ 12:06pm 
I've got the same problem. A bunch of occasional errors popping up that say:
[Celsius] Skipped update of temperatures because previous was still running.

Before it started I noticed the gyseirs heating up to over 1k°C, and eventually the temperature refused to change at all. Like on the whole map. (I tried to up the temperature with dev mode, which doesn't work. Explosions cause a small spike of a few degrees C in the cell in which the explosion was... and yeah that stays at that temperature permanently.)

Also, before it stopped, got this error constantly:
Could not register region Region(id=1426, mapIndex=0, center=(270, 0, 102), links=1, cells=92) in link (span=(root=(272, 0, 96), dir=North + length=1) hash=281474977104144, regions=924, 1360): > 2 regions on link!

The coordinates always seem to be deep water tiles that were about to freeze. Seems like deep water and moving water tiles are the only ones that aren't frozen on the map.
Maybe Map Designer or Map Reroll screwed something up? Like celsius tries to freeze them, but they're not how they're supposed to be so it goes "Wtf??"



Also same, After turning Debug Log on, this pops up:
[Celsius] Updated temperatures for Map-0-PlayerHome 491 times at 0.0 ms per update.
So... it's running? or more like skipping?

I have no idea what's the cause. I have so many mods, trying to narrow it down would be a pain!
It might be because of a timing error with another mod?
Or maybe because I changed the map after the game started & edited it with dev tools and now Celsius gets confused? Or Celsius gets bitey with one of the map mods I have?

Whatever it is, Changing to Water freezes works like a charm. Doesn't cause any problems so yay for that~
Last edited by Raruke; 14 Sep, 2024 @ 12:08pm
_♣Caligula♣_ 18 Sep, 2024 @ 10:57am 
Do you run by any chanche biomes mod and/or pathfinding framework?
I have the same register region error. I don´t see the problem the game has, on this specific tile is nothing special.
It mentioned earlier as error several plants from regrowth aswell as biomes, I guess the destruction due to freezing is causing problems?
In any case it is very quickly utterly gamebreaking, it slows the game to few fps and leads after a moment even to a unity crash.
Sometimes it istantly kills out fps, in testing it mentioned the position where a fleece spider from biomes-caverns was located. Killing it restored fps but did not stop any register region errors.
The bed part was mentioned in an error log before, it was mentioned in combination with biomes-caverns as far as I remember. Error log gets filled very quickly, so hard to track everything.
MarkH 27 Sep, 2024 @ 4:51pm 
From the code, it looks like the "Updated temperatures X times..." message will happen regardless if the update thread actually completes or not.
It seems that once you start getting the "Skipped update" messages, then temperatures have stopped updating properly.
Tetsu-Ryu 6 Oct, 2024 @ 1:55pm 
I have the same issues with the infiinite temperatures rising.
Geyser has now 42k°C.. Killing everything in the vicinity.
I also have Pathfinding Framework and Biomes running. Might be an issue with them, but Celsius kept acting that way after removing both mods.
This issue only started after the 1.5 update.
wagnosferato 6 Oct, 2024 @ 4:09pm 
Vanilla Temperature Expanded has proxyheat settings, by disabling it, the werid behavior was fixed.
Praetorian 7 Oct, 2024 @ 8:44am 
Glad that helped for you wagnosferato, unfortunately it didn't in my case (already tested that way back when).
_♣Caligula♣_ 7 Oct, 2024 @ 9:10am 
Are you using the latest version from steam workshop or the one from github?
< >
Showing 1-15 of 20 comments
Per page: 1530 50