ROON consume all physical memory within 3 hours after an unknown issue

It happened more than once. I have attached the memory average usage over a period of three days, where you see six spikes. At this moment I’m investigating the log files at the moment when the memory usages grows for any pattern, that can lead me to a clue.

I shall try to upload more log information at the moment the memory usage starts to grow.

Thanks Bart, that would be really helpful! When those spikes “reset” is that because you’re restarting Roon, or does the memory return to normal on its own?

No I think Roon watchdog will reset the RoonServer, because the end of the spike is the same when the watchdog notice some error. See the RoonOnNAS log file:

########## Installed RoonServer Version ##########
100800850
1.8 (build 850) stable
stable
##################################################


20.11.21-10:56:01  --- e[0;37;1me[0;0m00:00:00.001 e[0;31mWarn:  get lock file path: /tmp/.rnsgem0-e[0;0m
20.11.21-10:56:01  --- Initializing
20.11.21-10:56:01  --- Started
20.11.21-10:56:06  --- Running
20.11.21-16:22:21  --- Not responding
20.11.21-16:23:01  --- Error
20.11.21-16:23:02  --- Not responding
20.11.21-16:23:03  --- Initializing
20.11.21-16:23:03  --- Started
20.11.21-16:23:07  --- Running
21.11.21-00:01:45  --- System.Net.Sockets.SocketException (104): Connection reset by peer
21.11.21-00:01:45  --- at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
21.11.21-00:01:45  --- at Sooloos.RnetJsonClient.<>c__DisplayClass65_0.<_BeginRead>b__0(IAsyncResult ar)
21.11.21-00:56:40  --- Not responding
21.11.21-00:57:20  --- Error
21.11.21-00:57:20  --- Not responding
21.11.21-00:57:22  --- Initializing
21.11.21-00:57:22  --- Started
21.11.21-00:57:25  --- Running
21.11.21-13:12:07  --- Not responding
21.11.21-13:12:14  --- Running
21.11.21-13:20:31  --- Not responding
21.11.21-13:21:08  --- Error
21.11.21-13:21:10  --- Initializing
21.11.21-13:21:10  --- Started
21.11.21-13:21:12  --- Not responding
21.11.21-13:21:17  --- Running
21.11.21-14:16:51  --- System.Net.Sockets.SocketException (104): Connection reset by peer
21.11.21-14:16:51  --- at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
21.11.21-14:16:51  --- at Sooloos.RnetJsonClient.<>c__DisplayClass65_0.<_BeginRead>b__0(IAsyncResult ar)

Hello Kevin,

Thanks for the quick respons. It seems that the memory snooping starting after starting/accessing a specific playlist. The playlist is a combination of local and Qobuz tracks. At this moment I’m not 100% percent sure if this is the real trigger.

Maybe there is som relation with the Android mobile Roon app. It seems that all memory consumption starting of happening when I use the mobile app or the mobile app became active again.

This morning the memory consumption starting after I awake my mobile phone, while the app was active but not playing music. In the RoonServer Log file I see a stable memory consumption till the mobile App (VOG-L29) do something. After that, the memory grows.

11/23 07:38:29 Info: [stats] 23532mb Virtual, 1371mb Physical, 447mb Managed, 392 Handles, 90 Threads
11/23 07:38:29 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=191 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:38:33 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 19:33] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:38:38 Info: [brokerserver] Client connected: 192.168.1.136:42758
11/23 07:38:38 Trace: [raat] [sood] Refreshing device list
11/23 07:38:38 Trace: [raatserver] [sood] Refreshing device list
11/23 07:38:38 Trace: [raat] RAATServer discovered: RaatServer VOG-L29 @ 192.168.1.136:9200
11/23 07:38:38 Info: [raatserver] GOT SERVER f03da3a4-e8ba-0dbc-5b7e-a2a38a94604d::f03da3a4e8ba0dbc5b7ea2a38a94604d @ 192.168.1.136:9200 VOG-L29 PROTOVER=1 RAATVER=1.1.38 
11/23 07:38:38 Trace: [push] short read from connector (1)
11/23 07:38:38 Trace: [push] retrying connection in 97807ms
11/23 07:38:38 Trace: [raatserver] [RaatServer VOG-L29 @ 192.168.1.136:9200] connecting (attempt 1)
11/23 07:38:38 Trace: SENT NONFINAL DistributedBroker.ConnectResponse={ BrokerId=d7066d11-78d2-4f1f-8e6b-f68f02a46245 BrokerName='meterkast' }
11/23 07:38:38 Trace: SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='UpToDate' HasChangeLog=False CurrentVersion={ MachineValue=100800850 DisplayValue='1.8 (build 850) stable' Branch='stable' } }
11/23 07:38:38 Trace: [raatserver] [RaatServer VOG-L29 @ 192.168.1.136:9200] connected
11/23 07:38:38 Trace: [rnet/RnetJsonClient] SENT {"request":"enumerate_devices","subscription_id":"0"}
11/23 07:38:38 Trace: [rnet/RnetJsonClient] GOT NONFINAL {"status": "Success", "devices": [{"device_id": "default", "type": "android", "discovery_data": {"model": "N/A", "tcp_port": 33047, "unique_id": "37d306d0-6a3c-f4b0-8ad1-c86965c15d4b", "raat_version": "1.1.38", "vendor": "N/A", "version": "N/A", "protocol_version": "3"}, "auto_enable": true, "name": "Default Output", "config": {"volume": {"type": "android", "device": "default"}, "unique_id": "37d306d0-6a3c-f4b0-8ad1-c86965c15d4b", "external_config": {"is_private": true}, "output": {"type": "android", "name": "Default Output", "device": "default"}}, "is_system_output": true, "auto_name": "VOG-L29"}]}
11/23 07:38:38 Info: [raatserver] GOT DEVICE f03da3a4e8ba0dbc5b7ea2a38a94604d::default Type=android Name=Default Output 
11/23 07:38:38 Trace: [rnet/RnetJsonClient] SENT {"request":"enable_device","device_id":"default","subscription_id":"14"}
11/23 07:38:38 Info: [raatserver] [Default Output] connecting (attempt 1)
11/23 07:38:38 Trace: [rnet/RnetJsonClient] GOT NONFINAL {"status": "Success"}
11/23 07:38:38 Trace: [Default Output] [raatclient] Initializing RAAT session
11/23 07:38:38 Trace: [Default Output] [raatclient] Loading script raat.dat:base.lua as module base [1088 chars]
11/23 07:38:38 Trace: [Default Output] [raatclient] Loading script raat.dat:dkjson.lua as module dkjson [22416 chars]
11/23 07:38:38 Trace: [Default Output] [raatclient] Loading script raat.dat:protocol.lua as module protocol [2045 chars]
11/23 07:38:38 Trace: [Default Output] [raatclient] Loading script raat.dat:roon_tcp.lua [43548 chars]
11/23 07:38:38 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 19:37] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:38:39 Debug: [easyhttp] [1579] POST to https://discovery.roonlabs.net/1/query returned after 443 ms, status code: 200
11/23 07:38:39 Debug: [easyhttp] [1580] GET to https://messaging.roonlabs.net/1/api/messages/6c315745-58c4-47c6-b73c-24b8acdd8f3c returned after 455 ms, status code: 200
11/23 07:38:39 Trace: [Default Output] [raatclient] RAAT Session initialized in 758ms
11/23 07:38:39 Trace: [Default Output] [raatclient] SENT [2]{"request":"info"}
11/23 07:38:39 Trace: [Default Output] [raatclient] SENT [3]{"request":"set_client_type","client_type":"Roon"}
11/23 07:38:39 Trace: [Default Output] [raatclient] GOT [2] {"volume":{"info":{},"is_supported":true},"source_selection":{"info":[],"is_supported":false},"flags":{"has_write_chmap":true},"output":{"info":{"refresh_supported_formats_before_playback":true},"supported_formats":"48000/16/1|2,48000/24/1|2"},"info":{"protocol_version":"3","version":"N/A","unique_id":"37d306d0-6a3c-f4b0-8ad1-c86965c15d4b","raat_version":"1.1.38","vendor":"N/A","model":"N/A"},"status":"Success","platform":{"os":"android","uname":{"version":"#1 SMP PREEMPT Thu Oct 14 10:34:42 CST 2021","sysname":"Linux","nodename":"localhost","machine":"aarch64","release":"4.14.116"}},"transport":{"is_update_status_supported":true,"info":{"config":{}},"is_update_artwork_supported":true,"is_supported":true}}
11/23 07:38:39 Trace: [Default Output] [raatclient] GOT [3] {"status":"Success"}
11/23 07:38:39 Trace: [raatserver] [Default Output] connected
11/23 07:38:39 Info: [transport] creating endpoint for raat device 37d306d0-6a3c-f4b0-8ad1-c86965c15d4b
11/23 07:38:39 Trace: [Default Output] [raatclient] SENT [4]{"request":"subscribe_transport"}
11/23 07:38:39 Trace: [Default Output] [raatclient] SENT [5]{"request":"subscribe_controls","controller_id":"d7066d11-78d2-4f1f-8e6b-f68f02a46245"}
11/23 07:38:39 Trace: [dspengine] created new dsp config {"version":3,"items":[{"type":"bs2b","enabled":false},{"type":"parametric_equalizer","enabled":false},{"type":"audeze_presets","enabled":false}]}
11/23 07:38:39 Trace: [transport/audeze] picking preset lowlatency 
11/23 07:38:39 Trace: [transport/audeze] picked null preset!
11/23 07:38:39 Trace: [Default Output] [raatclient] GOT [5] {"status":"Success","controls":{"volume":{"step":1.0,"type":"number","min":0.0,"max":15.0,"info":{},"value":8,"mute":false}},"action":"Changed"}
11/23 07:38:39 Trace: [zone VOG-L29] Loading
11/23 07:38:39 Trace: [zone VOG-L29] Suspend
11/23 07:38:39 Info: [zone VOG-L29] Canceling Pending Sleep
11/23 07:38:39 Trace: [VOG-L29] [zoneplayer/raat] Endpoint Default Output Initial State: Idle
11/23 07:38:39 Info: [transport] created zone VOG-L29
11/23 07:38:39 Info: [transport]     with endpoint Default Output (23:1:37d306d0-6a3c-f4b0-8ad1-c86965c15d4b) [IsAvailable=True]
11/23 07:38:39 Trace: [VOG-L29] [HighQuality, 16/44 FLAC => 24/48] [100% buf] [STOPPED @ 0:00] 
11/23 07:38:39 Trace: [roonapi] [apiclient 192.168.1.14:56820] CONTINUE Changed {"zones_added":[{"zone_id":"1601d006d3373c6ab0f48ad1c86965c15d4b","display_name":"VOG-L29","outputs":[{"output_id":"1701d006d3373c6ab0f48ad1c86965c15d4b","zone_id":"1601d006d3373c6ab0f48ad1c86965c15d4b","can_group_with_output_ids":[],"display_name":"VOG-L29","source_controls":[{"control_key":"1","display_name":"Default Output","supports_standby":false,"status":"selected"}]}],"state":"stopped","is_next_allowed":false,"is_previous_allowed":true,"is_pause_allowed":false,"is_play_allowed":false,"is_seek_allowed":false,"queue_items_remaining":0,"queue_time_remaining":0,"settings":{"loop":"disabled","shuffle":false,"auto_radio":true}}]}
11/23 07:38:39 Trace: [roonapi] [apiclient 192.168.1.14:56820] CONTINUE Changed {"outputs_added":[{"output_id":"1701d006d3373c6ab0f48ad1c86965c15d4b","zone_id":"1601d006d3373c6ab0f48ad1c86965c15d4b","can_group_with_output_ids":[],"display_name":"VOG-L29","source_controls":[{"control_key":"1","display_name":"Default Output","supports_standby":false,"status":"selected"}]}]}
11/23 07:38:39 Trace: [zone VOG-L29] Loaded Queue=1721 Tracks Swim=Inactive AutoSwim=True Loop=Disabled Shuffle=False
11/23 07:38:39 Trace: [VOG-L29] [HighQuality, 16/44 FLAC => 24/48] [100% buf] [PAUSED @ 0:33/2:46] Under My Thumb - Anakelly
11/23 07:38:40 Trace: [Default Output] [raatclient] SENT [8]{"request":"update_artwork","mimetype":"image/jpeg"}
11/23 07:38:40 Info: [brokerserver] Client connected: 192.168.1.136:42702
11/23 07:38:40 Trace: [raat] [sood] Refreshing device list
11/23 07:38:40 Trace: [raatserver] [sood] Refreshing device list
11/23 07:38:40 Info: [brokerserver] Client disconnected: 192.168.1.136:42702
11/23 07:38:40 Trace: [Default Output] [raatclient] GOT [8] {"status":"Success"}
11/23 07:38:40 Info: [brokerserver] Client connected: 192.168.1.136:42724
11/23 07:38:40 Trace: [raat] [sood] Refreshing device list
11/23 07:38:40 Trace: [raatserver] [sood] Refreshing device list
11/23 07:38:40 Info: [brokerserver] Client disconnected: 192.168.1.136:42724
11/23 07:38:40 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=192 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:38:43 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 19:40] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:38:44 Info: [stats] 23862mb Virtual, 1743mb Physical, 535mb Managed, 399 Handles, 133 Threads
11/23 07:38:48 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
11/23 07:38:48 Trace: [push] connecting to 34.75.144.165:9204
11/23 07:38:48 Trace: [push] connected
11/23 07:38:49 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 19:48] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:38:54 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 19:53] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:38:54 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=191 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:38:58 Trace: [roonapi] [apiclient 192.168.1.14:56820] CONTINUE Changed {"zones_changed":[{"zone_id":"16014cc443571ee141e279a1e1986dc80216","display_name":"Woonkamer (Roon)","outputs":[{"output_id":"17014cc443571ee141e279a1e1986dc80216","zone_id":"16014cc443571ee141e279a1e1986dc80216","can_group_with_output_ids":[],"display_name":"Woonkamer (Roon)","volume":{"type":"number","min":0,"max":100,"value":0,"step":1,"is_muted":false,"hard_limit_min":0,"hard_limit_max":100,"soft_limit":100},"source_controls":[{"control_key":"1","display_name":"TPM191E","supports_standby":false,"status":"indeterminate"}]}],"state":"paused","is_next_allowed":true,"is_previous_allowed":true,"is_pause_allowed":false,"is_play_allowed":true,"is_seek_allowed":true,"queue_items_remaining":22,"queue_time_remaining":9386,"settings":{"loop":"disabled","shuffle":false,"auto_radio":true},"now_playing":{"seek_position":4,"length":245,"one_line":{"line1":"We Come Undone - O.S.I."},"two_line":{"line1":"We Come Undone","line2":"O.S.I."},"three_line":{"line1":"We Come Undone","line2":"O.S.I.","line3":"Blood"},"image_key":"4e58d73e0e90052294a1425dbcbc939078ed042d692b685c5497ac5628be8b4728dce89c57a67c6fd1c4aed54461b3858edbbcb63f1190d6a2a859ab786e04359fb6ce07a1376395b23f1dd8d7c9fafa4552e5616cdfb5f116e9232b91be6d502feae33a8dc0eab2d9be80451dcaa94f","artist_image_keys":["4e58d73e0e90052294a1425dbcbc939078ed042d692b685c5497ac5628be8b4794fab8f5b705d380d5942fd6b87d02d109847ccc881c16a80820b7beb3a26158b8051b2ddb4e9ec9e450c395436b8f9cd1a179fba06a5a0ad435ffead5ba90d573d6be085fadbcc14e97454b598eedb33acc6ae7f0b63212d633132cadcab190"]}}]}
11/23 07:38:58 Trace: [roonapi] [apiclient 192.168.1.14:56820] CONTINUE Changed {"outputs_changed":[{"output_id":"17014cc443571ee141e279a1e1986dc80216","zone_id":"16014cc443571ee141e279a1e1986dc80216","can_group_with_output_ids":[],"display_name":"Woonkamer (Roon)","volume":{"type":"number","min":0,"max":100,"value":0,"step":1,"is_muted":false,"hard_limit_min":0,"hard_limit_max":100,"soft_limit":100},"source_controls":[{"control_key":"1","display_name":"TPM191E","supports_standby":false,"status":"indeterminate"}]}]}
11/23 07:38:59 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 19:58] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:38:59 Info: [stats] 23886mb Virtual, 1878mb Physical, 804mb Managed, 400 Handles, 136 Threads
11/23 07:38:59 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=192 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:39:04 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 20:03] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:39:04 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=191 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:39:09 Debug: [easyhttp] [1581] POST to https://discovery.roonlabs.net/1/query returned after 395 ms, status code: 200
11/23 07:39:09 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 20:08] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:39:09 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=192 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:39:14 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 20:13] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:39:14 Info: [stats] 23581mb Virtual, 2053mb Physical, 1098mb Managed, 400 Handles, 98 Threads
11/23 07:39:19 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 20:19] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:39:19 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=191 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:39:24 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 48000/24/2 BitRate=192 Quality=LowQuality
    UpgradeBitDepth FromBitsPerSample=24 ToBitsPerSample=64 Quality=Lossless
    VolumeNormaliation GainDb=-5 Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Cast Group
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
11/23 07:39:25 Trace: [Keuken (Roon)] [LowQuality, 24/48 MP3 => 24/48] [100% buf] [PLAYING @ 20:24] NPO Radio 2 - Jan-Willem Start Op - BNNVARA
11/23 07:39:29 Info: [stats] 23573mb Virtual, 2136mb Physical, 905mb Managed, 400 Handles, 93 Threads

Sadly enough I haven’t see any reaction at this moment and the problem still getting worse.
After the last update it seems that the Roon server is eating all the NAS memory just after starting to play.
It doesn’t matter on what kind of device I listen. Is there a way to investigate the problem, because it seems that the Roon software have a memory leak.

Okay, things became stranger, even in rust Roon starting spontaneously eating memory, see part of a log-file with only stats information:

12/20 16:31:46 Info: [stats] 23679mb Virtual, 1526mb Physical, 440mb Managed, 399 Handles, 92 Threads
12/20 16:32:01 Info: [stats] 23671mb Virtual, 1497mb Physical, 483mb Managed, 396 Handles, 92 Threads
12/20 16:32:16 Info: [stats] 23679mb Virtual, 1481mb Physical, 531mb Managed, 396 Handles, 94 Threads
12/20 16:32:31 Info: [stats] 23639mb Virtual, 1528mb Physical, 489mb Managed, 396 Handles, 85 Threads
12/20 16:32:46 Info: [stats] 23639mb Virtual, 1533mb Physical, 562mb Managed, 396 Handles, 86 Threads
12/20 16:33:01 Info: [stats] 23615mb Virtual, 1529mb Physical, 483mb Managed, 396 Handles, 84 Threads
12/20 16:33:16 Info: [stats] 23647mb Virtual, 1910mb Physical, 776mb Managed, 396 Handles, 90 Threads
12/20 16:33:31 Info: [stats] 23647mb Virtual, 2043mb Physical, 810mb Managed, 396 Handles, 89 Threads
12/20 16:33:46 Info: [stats] 23647mb Virtual, 2082mb Physical, 724mb Managed, 396 Handles, 89 Threads
12/20 16:34:01 Info: [stats] 23623mb Virtual, 2088mb Physical, 1177mb Managed, 396 Handles, 84 Threads
12/20 16:34:16 Info: [stats] 23623mb Virtual, 2168mb Physical, 989mb Managed, 396 Handles, 87 Threads
12/20 16:34:31 Info: [stats] 23671mb Virtual, 2222mb Physical, 1431mb Managed, 396 Handles, 90 Threads
12/20 16:34:46 Info: [stats] 23695mb Virtual, 2255mb Physical, 1165mb Managed, 397 Handles, 96 Threads
12/20 16:35:01 Info: [stats] 23695mb Virtual, 2266mb Physical, 904mb Managed, 396 Handles, 96 Threads
12/20 16:35:16 Info: [stats] 23695mb Virtual, 2413mb Physical, 1172mb Managed, 396 Handles, 94 Threads
12/20 16:35:31 Info: [stats] 23687mb Virtual, 2494mb Physical, 1071mb Managed, 397 Handles, 95 Threads
12/20 16:35:46 Info: [stats] 23687mb Virtual, 2495mb Physical, 1477mb Managed, 396 Handles, 95 Threads

@kevin, Why aren’t no further reactions on my posts? The problem still exist and I think that more people are affected with this problem, but the most people won’t even notice. I’m really disappointed in in the support and hoping that you can seriously investigate the problem, because the memory leak is a real Roon problem.

1 Like

I found out, that the memroy consumption grows after an connection error of the RAATServer, and all of these connection error is related to the Windows client or Android client. Thew Windows client is used to control Roon and the android client is situated on my mobile phone for controlling Roon and sometimes to listen directly the music on the device.

What I see on the client is that it takes a long time before the client recieve all the information on the display after an wake-up. Sometimes I restart the client. f i connect to Roon with a different client I receive directly all the necessary information. It is not that the server is overloaded.

Memory consumption of Roon the last week!

@Bart_Ratgers
Yes, I think there is a memory leak in Roon, where CPU usage is high and there is little efficiency.
It’s most likely a network sending component, a network request, which is usually seen blocking the UI, and after a batch of network requests, you’ll see That RoonServer starts to slow down.

It’s a problem that only developers can solve, but it’s hard to solve, and they seem to be so satisfied with their software that users have a high tolerance for problems.

I fully agree with your opinion and that what’s frustrating me, the lack of a good support and problem facility. The last reaction of support team was from november last year. I don’t understand why they using discussion forum software instead of a ticket system.

So I hope they will finally dive into this problem and solve all the buggy software. We paying for working software and for that price I expect at least reliable software.

1 Like

The average user doesn’t pay attention to these problems, they are content to use them, some even very basic.
You might actually be able to find and locate the problem, but you still can’t solve the problem,
Because this is a compilation result, you can’t interfere. Can only wait for official support.

I don’t think your request is too much, paid software has a reason to require good technical support, and its price is really expensive.
You have observed and provided relevant information, and there are not many users like you who have real experience in the relevant field.
To be blunt, most of them are small white users who can’t even provide relevant information.

The software does some things well, which is why people are willing to pay for it.
But as a server, it is obviously not robust, rigorous and efficient, which is related to the level of development and attitude.
Finding excuses or ignoring that is not good performance because the software being used as a server,
It can almost really run all year round under high pressure, because that’s what the server is all about, providing high-quality, uninterrupted service.
RoonServer explicitly does not.

After 9 days not any respons and the problem still exist. More people dealing with the same issues:

When they will start to solve this issue?

To tackle this issue I have try to start over again with a clean database. This didn’t resolve the problem. After futher investigation I found some pattern that probably start the memory occupation consming.

Al the memory issues stating with:

01/23 13:14:52 Trace: [raat] [sood] Refreshing device list
01/23 13:14:52 Trace: SENT NONFINAL DistributedBroker.ConnectResponse={ BrokerId=306e60f5-fca1-4a92-bac8-3e732a49ab18 BrokerName='meterkast' }
01/23 13:14:52 Trace: SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='UpToDate' HasChangeLog=False CurrentVersion={ MachineValue=100800884 DisplayValue='1.8 (build 884) stable' Branch='stable' } }
01/23 13:14:52 Trace: [push] restarting connection (Unable to read data from the transport connection: Software caused connection abort.)
01/25 08:29:06 Trace: [raatserver] [sood] Refreshing device list
01/25 08:29:06 Trace: SENT NONFINAL DistributedBroker.ConnectResponse={ BrokerId=306e60f5-fca1-4a92-bac8-3e732a49ab18 BrokerName='meterkast' }
01/25 08:29:06 Trace: SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Error' HasChangeLog=False CurrentVersion={ MachineValue=100800884 DisplayValue='1.8 (build 884) stable' Branch='stable' } }
01/25 08:29:06 Trace: [push] restarting connection (Unable to read data from the transport connection: Software caused connection abort.)
01/26 07:17:18 Trace: [raat] [sood] Refreshing device list
01/26 07:17:18 Trace: SENT NONFINAL DistributedBroker.ConnectResponse={ BrokerId=306e60f5-fca1-4a92-bac8-3e732a49ab18 BrokerName='meterkast' }
01/26 07:17:18 Trace: SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Error' HasChangeLog=False CurrentVersion={ MachineValue=100800884 DisplayValue='1.8 (build 884) stable' Branch='stable' } }
01/26 07:17:18 Trace: [push] restarting connection (Unable to read data from the transport connection: Software caused connection abort.)

And it is only triggered by the Android and Windows apps that act as a remote and conecting to the RAAT Server. So I suspect the RAAT server have some connection problem.

@kevin, Is there a way to debug thje ROON application?

Hey @Bart_Ratgers, thanks for providing these timestamps – I’m going to have the team take a closer look at your logs to see if we notice a pattern. The difference between your issue and others is how quickly the memory ramps up, it seems to happen over just a couple of hours.

Have you noticed if the issue persists after we released Build 898 yesterday?

Hello Kevin, thank you for your respons. Sadly enough the new version shows also a spike, direct after starting the Windows client:


01/31 22:13:09 Info: [brokerserver] Client connected: 192.168.1.192:34940
01/31 22:13:09 Trace: [raat] [sood] Refreshing device list
01/31 22:13:09 Trace: [raatserver] [sood] Refreshing device list
01/31 22:13:09 Trace: [raat] RAATServer discovered: RaatServer LENOVO-T540P @ 192.168.1.192:9200
01/31 22:13:09 Info: [raatserver] GOT SERVER b548bcef-f355-b4d7-10d2-f4fc827ce642::d945e4c9-fd76-431b-93f0-ecad1b6f0e49 @ 192.168.1.192:9200 LENOVO-T540P PROTOVER=1 RAATVER=1.1.38 
01/31 22:13:09 Trace: [push] restarting connection (Unable to read data from the transport connection: Software caused connection abort.)
01/31 22:13:09 Trace: [raatserver] [RaatServer LENOVO-T540P @ 192.168.1.192:9200] connecting (attempt 1)
01/31 22:13:09 Trace: [push] retrying connection in 92091ms
01/31 22:13:09 Trace: [raatserver] [RaatServer LENOVO-T540P @ 192.168.1.192:9200] connected
01/31 22:13:09 Trace: [rnet/RnetJsonClient] SENT {"request":"enumerate_devices","subscription_id":"0"}
01/31 22:13:09 Trace: SENT NONFINAL DistributedBroker.ConnectResponse={ BrokerId=306e60f5-fca1-4a92-bac8-3e732a49ab18 BrokerName='meterkast' }
01/31 22:13:09 Trace: SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='UpToDate' HasChangeLog=False CurrentVersion={ MachineValue=100800898 DisplayValue='1.8 (build 898) stable' Branch='stable' } }
01/31 22:13:09 Trace: [rnet/RnetJsonClient] GOT NONFINAL {"status": "Success", "devices": [{"device_id": "default", "name": "System Output", "type": "wasapi", "is_system_output": true, "config": {"output": {"name": "System Output", "type": "wasapi", "device": "default"}, "unique_id": "3a13c7b8-abfc-0768-9ece-67819dbcc655", "volume": {"type": "wasapi", "device": "default"}, "external_config": {}}}, {"device_id": "{0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}", "name": "PulseAudio", "type": "wasapi", "config": {"output": {"name": "PulseAudio", "type": "wasapi", "device": "{0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}"}, "unique_id": "3e1afcdf-f753-87c3-3437-078eaae0b13f", "volume": {"type": "wasapi", "device": "{0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}"}, "external_config": {}}}]}
01/31 22:13:09 Info: [raatserver] GOT DEVICE d945e4c9-fd76-431b-93f0-ecad1b6f0e49::default Type=wasapi Name=System Output 
01/31 22:13:09 Info: [raatserver] GOT DEVICE d945e4c9-fd76-431b-93f0-ecad1b6f0e49::{0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B} Type=wasapi Name=PulseAudio 
01/31 22:13:10 Debug: [easyhttp] [119] POST to https://discovery.roonlabs.net/1/query returned after 1027 ms, status code: 200
01/31 22:13:10 Debug: [easyhttp] [120] GET to https://messaging.roonlabs.net/1/api/messages/6c315745-58c4-47c6-b73c-24b8acdd8f3c returned after 423 ms, status code: 200
01/31 22:13:11 Info: [stats] 24250mb Virtual, 1197mb Physical, 711mb Managed, 381 Handles, 199 Threads
01/31 22:13:19 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
01/31 22:13:19 Trace: [push] connecting to 35.227.110.21:9204
01/31 22:13:19 Trace: [push] connected
01/31 22:13:26 Info: [stats] 24274mb Virtual, 1513mb Physical, 1052mb Managed, 382 Handles, 202 Threads

It starting again to consume all memory:

01/31 22:12:56 Info: [stats] 23391mb Virtual, 1187mb Physical, 687mb Managed, 380 Handles, 89 Threads
01/31 22:13:11 Info: [stats] 24250mb Virtual, 1197mb Physical, 711mb Managed, 381 Handles, 199 Threads
01/31 22:13:26 Info: [stats] 24274mb Virtual, 1513mb Physical, 1052mb Managed, 382 Handles, 202 Threads
01/31 22:13:28 Debug: [music/profilestats] Computed stats in 133ms, got 50 top albums, 50 top performers, 94 genres
01/31 22:13:28 Debug: [music/profilestats] Computed stats in 119ms, got 50 top albums, 50 top performers, 94 genres
01/31 22:13:28 Debug: [music/profilestats] Computed stats in 115ms, got 50 top albums, 50 top performers, 94 genres
01/31 22:13:34 Debug: [music/profilestats] Computed stats in 116ms, got 50 top albums, 50 top performers, 94 genres
01/31 22:13:41 Info: [stats] 23495mb Virtual, 1592mb Physical, 930mb Managed, 401 Handles, 102 Threads
01/31 22:13:56 Info: [stats] 23455mb Virtual, 1660mb Physical, 642mb Managed, 401 Handles, 96 Threads
01/31 22:14:11 Info: [stats] 23423mb Virtual, 1660mb Physical, 958mb Managed, 401 Handles, 92 Threads
01/31 22:14:21 Debug: [music/profilestats] Computed stats in 276ms, got 50 top albums, 50 top performers, 96 genres
01/31 22:14:22 Debug: [music/profilestats] Computed stats in 142ms, got 50 top albums, 50 top performers, 96 genres
01/31 22:14:22 Debug: [music/profilestats] Computed stats in 126ms, got 50 top albums, 50 top performers, 96 genres
01/31 22:14:22 Debug: [music/profilestats] Computed stats in 122ms, got 50 top albums, 50 top performers, 96 genres
01/31 22:14:26 Info: [stats] 23448mb Virtual, 1821mb Physical, 673mb Managed, 404 Handles, 99 Threads
01/31 22:14:41 Info: [stats] 23448mb Virtual, 1903mb Physical, 699mb Managed, 404 Handles, 99 Threads
01/31 22:14:56 Info: [stats] 23448mb Virtual, 1904mb Physical, 1095mb Managed, 404 Handles, 99 Threads
01/31 22:15:11 Info: [stats] 23432mb Virtual, 1912mb Physical, 831mb Managed, 404 Handles, 93 Threads
01/31 22:15:26 Info: [stats] 23433mb Virtual, 1921mb Physical, 1266mb Managed, 398 Handles, 97 Threads
01/31 22:15:41 Info: [stats] 23433mb Virtual, 1947mb Physical, 930mb Managed, 399 Handles, 93 Threads
01/31 22:15:56 Info: [stats] 23449mb Virtual, 1960mb Physical, 1419mb Managed, 397 Handles, 99 Threads
01/31 22:16:11 Info: [stats] 23449mb Virtual, 1956mb Physical, 951mb Managed, 381 Handles, 97 Threads
01/31 22:16:26 Info: [stats] 23489mb Virtual, 1966mb Physical, 1126mb Managed, 381 Handles, 104 Threads
01/31 22:16:41 Info: [stats] 23465mb Virtual, 2027mb Physical, 867mb Managed, 382 Handles, 97 Threads
01/31 22:16:56 Info: [stats] 23457mb Virtual, 2069mb Physical, 1057mb Managed, 381 Handles, 96 Threads
01/31 22:17:11 Info: [stats] 23441mb Virtual, 2070mb Physical, 1380mb Managed, 381 Handles, 94 Threads
01/31 22:17:26 Info: [stats] 23473mb Virtual, 2072mb Physical, 1310mb Managed, 381 Handles, 102 Threads

Just an Updtate about the memory consumption error. I can commit that the latest update improve the symptoms. I notices that the memory consumption trggered by two scenario’s and both scenario’s are related to the sleep status of the client.

  1. Scenario 1: A windows client that awakes after the PC resumed from a sleep status. In that case the client can’t update/refresh the screen and somtimes it’s resulting in a memroy consumption process at server side.
  2. Scenario 2: A Android client that awakes or activates while the mobile device using another Access Point. The result is the same as the windows client. The app can’t update/refresh the screen. Prior to the Build 918, the hanging client resulting in triggering the memory consumption process, but now, the most of the time the memrory consumption process isn’t triggering.

So I see a big progress on symptom control, bus I think the real problem isn’t resolved. So I think that the reliability of the Roon server can be improved by solving the issues in cases that the client reconnect to the network.

Finally with the latest update all my memory issues seems to been solved. All the Android and Windows User interfaces are robust and stable and the server consumes a stable amount of memory.

It seems that the memory consumption is lowered by the latest release. Finally after two years I can enjoy the full and stable functions of Roon. Thank You.

1 Like

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.