Memory leak? What does 'Dirty' in log files mean?

Hello,

Roon was very slow to react this morning, taking many seconds before commencing play of a selected Tidal album, something which normally is immediate. I tend to let Roon run so that backups can be made during the night.

I had a look at the performance monitor (Core: Windows 10, 12GB RAM, V1.3 Build 209 64 bit Roon, 2096 albums, 16878 tracks) and noticed Roon using much more memory than usual, clocking in at ca 4GB physical memory.

The log file indicates some sort of arithmetic overflow (see below) and says it uses 7,9GB Virtual memory.

Just curious, what is the significance of the term ‘Dirty’?.

03/17 08:53:42 Error: System.OverflowException: Den aritmetiska operationen orsakade spill.  vid Sooloos.Storage.ITunesUtils.ScanITunesXml(String xmlpath, Func`2 trackcb, Func`2 playlistcb, Action`1 donecb)
03/17 08:53:42 Info: [broker/locations] media availability: ITunes:Name=ITunes Library:Id=0bfc1599-dcf9-8617-34ca-0d39112c0095 is offline
03/17 08:53:43 Trace: [library] finished with 9999 dirty tracks 1114 dirty albums 5740 dirty performers 4767 dirty works 6639 dirty performances 501 dirty genres 1 dirty tags 26 dirty countries 4 dirty forms 327 dirty places 115 dirty creditroles 71 dirty labels 0 clumping tracks, 0 clumping auxfiles 0 compute tracks, 0 deleted tracks, 0 tracks to (re)load, 7939 tracks to retain, 0 auxfiles to (re)load, 0 auxfiles to retain, and 26701 changed objects
03/17 08:53:43 Debug: [library/index] updating search indices: 17791 ops 17045 adds, 0 removes
03/17 08:53:44 Trace: [dbperf] flush 0 bytes, 0 ops in 31 ms (cumulative 422013226 bytes, 322668 ops in 561504 ms)
03/17 08:53:44 Trace: [library] endmutation in 2259ms
03/17 08:53:45 Trace: [library] endmutation in 42ms
03/17 08:53:45 Info: [music/storage] Unloading storage backend iTunes Library
03/17 08:53:45 Info: [library] releasing 7939 tracks, 0 auxfiles for storage backend 0bfc1599-dcf9-8617-34ca-0d39112c0095 (iTunes Library)
03/17 08:53:45 Trace: [library] finished with 9999 dirty tracks 1114 dirty albums 5740 dirty performers 4767 dirty works 6639 dirty performances 501 dirty genres 1 dirty tags 26 dirty countries 4 dirty forms 327 dirty places 115 dirty creditroles 71 dirty labels 0 clumping tracks, 0 clumping auxfiles 0 compute tracks, 0 deleted tracks, 0 tracks to (re)load, 0 tracks to retain, 0 auxfiles to (re)load, 0 auxfiles to retain, and 26701 changed objects
03/17 08:53:45 Debug: [library/index] updating search indices: 17791 ops 3 adds, 17042 removes
03/17 08:53:46 Info: [stats] 7909mb Virtual, 4060mb Physical, 890mb Managed, 2646 Handles, 77 Threads

(I listen mostly to Tidal but have an old iTunes library with mostly low-res files)

I tried to add this to another memory leak support thread but it was already locked so apologies for creating a new topic…

Please let me know if you need a log file to analyse.

To end on a happy note, I really like Roon and all the latest developments. Thanks!

“dirty” is a technical term, not a problem. A dirty object is one that needs to be re-computed or re-indexed. Just about everything you do in Roon dirties some things and then cleans them again… Outside reference

I recommend moving away from our legacy iTunes support–we deprecated and replaced it because it was not only the wrong product design, but it also had some problems (including memory issues). There’s some documentation here, and @support can help if you have questions.

2 Likes