View Issue Details

IDProjectCategoryView StatusLast Update
0021235MMW 5Conversion/Levelingpublic2024-12-09 19:09
Reporterrusty Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status assignedResolutionfixed 
Product Version2024.0 
Target Version2024.1Fixed in Version2024.0 
Summary0021235: CD Rip: memory leak in rip verification function
DescriptionIf the user enables 'Verify ripped tracks' for CD Rips, then memory utilization grows with each additional CD rip.
Additional InformationReported at: https://www.mediamonkey.com/forum/viewtopic.php?t=106683
TagsNo tags attached.
Fixed in build3061

Relationships

related to 0021238 closedpetr File list report causes freeze and crash - regression 3059 
related to 0021389 feedbacklowlander Out of Memory on CD Rip (when 'Verify tracks' is enabled) 

Activities

petr

2024-09-27 18:31

developer   ~0077137

Last edited: 2024-09-27 18:32

Made some fixes, but leaving open as i see still some memory issue after ripping.

rusty

2024-09-27 20:46

administrator   ~0077140

Tested 3059 and it still functions, though memory usage still seems to grow during CD rip operations.

michal

2024-10-04 12:02

developer   ~0077177

Some adjustments and fixes commited to build 3061. It fixes some leaks and destroying of window objects in Delphi. Sadly windows in JS are still there and GC does not remove them for some still unknown reason.

Ludek

2024-10-07 18:01

developer   ~0077199

Last edited: 2024-10-07 18:01

As discussed with devs:
The memory leaks were caused by showing the rip verification dialog window, this is partially fixed in 3061 and the full fix was also made by Petr, but for build 3100 as it is risky change for RC..

lowlander

2024-10-07 18:31

developer   ~0077201

Did 20 discs on 3061:
- Launch MediaMonkey
- Wait 5 minutes
--> Memory 202MB
- Rip 20 discs
- Wait 10 minutes
--> Memory 500MB

Log in same place
image.png (22,293 bytes)   
image.png (22,293 bytes)   
image-2.png (22,186 bytes)   
image-2.png (22,186 bytes)   

Ludek

2024-10-07 19:23

developer   ~0077202

Analyzing the last log from @lowlander and I can confirm that:
- object allocated in Delphi (backend) did not change,
but
JS memory log: totalJSHeapSize:
jumped from original 23.100.000 to 109.000.000

so we would need to see the JS heap snapshot (DevTools > Memory > Take heap snapshot)

Ludek

2024-10-07 19:44

developer   ~0077203

Last edited: 2024-10-07 19:47

But testing this on a file that can't be dowloaded I can confirm that each 'error log dialog' adds 3 MB to JS heap size, so 20x adds 60 MB in JS heap size..
So still the same issue that should be resolved by Petr's fix for 3100 (so that dialogs called from delphi are shared)