View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0021235 | MMW 5 | Conversion/Leveling | public | 2024-09-27 14:47 | 2024-10-07 19:58 |
Reporter | rusty | Assigned To | |||
Priority | urgent | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | fixed | ||
Product Version | 5.1 | ||||
Target Version | 5.1.1 | Fixed in Version | 5.1 | ||
Summary | 0021235: CD Rip: memory leak in rip verification function | ||||
Description | If the user enables 'Verify ripped tracks' for CD Rips, then memory utilization grows with each additional CD rip. | ||||
Additional Information | Reported at: https://www.mediamonkey.com/forum/viewtopic.php?t=106683 | ||||
Tags | No tags attached. | ||||
Fixed in build | 3061 | ||||
|
Made some fixes, but leaving open as i see still some memory issue after ripping. |
|
Tested 3059 and it still functions, though memory usage still seems to grow during CD rip operations. |
|
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. |
|
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.. |
|
Did 20 discs on 3061: - Launch MediaMonkey - Wait 5 minutes --> Memory 202MB - Rip 20 discs - Wait 10 minutes --> Memory 500MB Log in same place |
|
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) |
|
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) |