View Issue Details

IDProjectCategoryLast Update
0029691Heart Of The MachineCrash/ExceptionNov 8, 2024 10:49 pm
Reporterglencoe2004 Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product Version0.594.1 Polish And Clarity 
Fixed in Version0.594.2 Memory Efficiency 
Summary0029691: Memory leak
DescriptionAs the title implies, there is a memory leak somewhere in HOTM. The error that alerted me to the leak and stopped saving triggered sometime after I talked to the Titan in the post-apocalypse, somewhere around 5-6 hours in a single session.

I have uploaded my log file, the last valid save before the error (Autosave Neoterisk Turn 603), and a corrupted save made after the error (sdaasdsdawdawda.save).
TagsNo tags attached.

Activities

glencoe2004

Nov 8, 2024 1:49 am

reporter  

HeartOfTheMachineLog.txt (513,652 bytes)

glencoe2004

Nov 8, 2024 1:50 am

reporter   ~0070709

glencoe2004

Nov 8, 2024 1:51 am

reporter   ~0070710

Alright so, I *would* add my corrupted save, but as it's empty the bug tracker won't take it.

It really is totally empty by the way - I opened it up in HxD and there is absolutely nothing in it.

Chris_McElligottPark

Nov 8, 2024 10:49 pm

administrator   ~0070711

Thanks!

* A lot of dramatic additions have been made to the deserialization logic for the game.
** There are a lot of data structures that include some lists and dictionaries within them, and these are now pooled (per separate generics type signature), and the pools are reset and have their memory released after load as well.
** At this point, all of the class data structures involved with loading savegames are permanent and are fully monitored by my anti-memory-leak processes, and for those that have things like sub-lists, they have their memory hollowed out after usage, so that even if there are dangling references, it doesn't matter and they still get garbage collected.
** The game also explicitly calls for a full garbage collection pass right after the load finishes, which keeps it so that the memory usage is actually lower now after three or four savegame loads than it used to be after just a single savegame load.
** This finally fixes the second major memory leak that I observed today, after reports from players.

Issue History

Date Modified Username Field Change
Nov 8, 2024 1:49 am glencoe2004 New Issue
Nov 8, 2024 1:49 am glencoe2004 File Added: HeartOfTheMachineLog.txt
Nov 8, 2024 1:49 am glencoe2004 File Added: Autosave Neoterisk Turn 603.autosave
Nov 8, 2024 1:49 am glencoe2004 File Added: Autosave Neoterisk Turn 603.save
Nov 8, 2024 1:50 am glencoe2004 Note Added: 0070709
Nov 8, 2024 1:51 am glencoe2004 Note Added: 0070710
Nov 8, 2024 10:49 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Nov 8, 2024 10:49 pm Chris_McElligottPark Status new => resolved
Nov 8, 2024 10:49 pm Chris_McElligottPark Resolution open => fixed
Nov 8, 2024 10:49 pm Chris_McElligottPark Fixed in Version => 0.594.2 Memory Efficiency
Nov 8, 2024 10:49 pm Chris_McElligottPark Note Added: 0070711