I have my music stored on a NAS (Synology 713+). The HDDs (2x WD Red 4TB) in that NAS will go into sleep mode when the discs are not accessed for a given amount of time.
I noticed that when I am listening to TIDAL tracks, the disks do in fact go to sleep (great!). When I switch back to playing a track from the NAS, the disks start waking up again (again, great!). However, before the disks have woken up, Roon has already paused the tracks (not so great). In some occasions, Roon (Remote) has crashed under these circumstances as well (far from great).
I’m running Roon Server on a SonicTransporter i5 and Roon Remote on a Intel Core i7 4970 / 16GB / Windows 10. I’m running Roon Remote 1.2 (build 168) and Roon Server 1.2 (build 165).
I believe to hav found some relevant info in the logs:
1/30 22:30:13 Warn: [remoting] connection received no data for 10585ms. Assuming dead.
01/30 22:30:13 Info: [brokerclient] Connection dropped: Ra (09a22c6a-fa3c-45ab-a057-263463655f7f) @ 10.0.0.7:9101
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Debug: [remoting] firing request callback with null because of dispose
01/30 22:30:13 Critical: while dispatching events: System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Base.Result`1.get_Value()
at Sooloos.Client.Models.brooexposure_BROKERZone.<>c__DisplayClass9.<method_play_tracks>b__8(Result`1 res)
at Sooloos.Concurrency.Version.DispatchPostHandlers(Object o)
at Sooloos.Concurrency.SharedState`1.FlushEvents()
01/30 22:30:13 Info:
Local Time: 01/30/2017 22:30:13 +01:00
Device Serial Number: 56996DD6-91C4-4444-A61A-F848BA55986E
Roon Version: 1.2 (build 168) stable
OS Version: Windows 10
Application Domain: Roon.exe
Assembly Codebase: file:///C:/Users/bartv/AppData/Local/Roon/Application/Roon.exe
Assembly Full Name: Roon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
CPU0 Description: Intel64 Family 6 Model 60 Stepping 3 3601 MHz (64-bit)
CPU0 Num Cores: Physical: 4 Logical: 8
GPU0 Description: NVIDIA GeForce GTX 970 0 MB
GPU0 Video Mode: 1920 x 1200 x 4294967296 colors
GPU0 Driver Version: 21.21.13.7570
SCREEN0 Name: \\.\DISPLAY1 (primary)SCREEN0 Bounds: 0,0 1920x1200
Exception Source: Base
Exception Type: System.InvalidOperationException
Exception Target Site: Result`1.get_Value
Exception Message: Operation is not valid due to the current state of the object.
Exception Data: none
--[ Stack Trace ]------------
Base.Result`1.get_Value()
Base.DLL, IL 13, N 64
Sooloos.Client.Models.brooexposure_BROKERZone/<>c__DisplayClass9.<method_play_tracks>b__8(Result`1 res)
Roon.Client.BrooModels.DLL, IL 0, N 19
Sooloos.Concurrency.Version.DispatchPostHandlers(Object o)
Roon.Broker.Concurrency.DLL, IL 56, N 127
Sooloos.Concurrency.SharedState`1.FlushEvents()
Roon.Broker.Concurrency.DLL, IL 84, N 270
Sooloos.Broker.State.BeginAccess(List`1 out_mutated_objects)
Roon.Broker.Core.DLL, IL 40, N 113
Broo.Engine.DeviceTarget.GuiMainLoop()
BrooEngine.DLL, IL 159, N 603
Sooloos.Application.Main(String[] argv)
Roon.exe, IL 1714, N 3880
01/30 22:30:13 Error:
Local Time: 01/30/2017 22:30:13 +01:00
Device Serial Number: 56996DD6-91C4-4444-A61A-F848BA55986E
Roon Version: 1.2 (build 168) stable
OS Version: Windows 10
Application Domain: Roon.exe
Assembly Codebase: file:///C:/Users/bartv/AppData/Local/Roon/Application/Roon.exe
Assembly Full Name: Roon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
CPU0 Description: Intel64 Family 6 Model 60 Stepping 3 3601 MHz (64-bit)
CPU0 Num Cores: Physical: 4 Logical: 8
GPU0 Description: NVIDIA GeForce GTX 970 0 MB
GPU0 Video Mode: 1920 x 1200 x 4294967296 colors
GPU0 Driver Version: 21.21.13.7570
SCREEN0 Name: \\.\DISPLAY1 (primary)SCREEN0 Bounds: 0,0 1920x1200
Exception Source: Base
Exception Type: System.InvalidOperationException
Exception Target Site: Result`1.get_Value
Exception Message: Operation is not valid due to the current state of the object.
Exception Data: none
--[ Stack Trace ]------------
Base.Result`1.get_Value()
Base.DLL, IL 13, N 64
Sooloos.Client.Models.brooexposure_BROKERZone/<>c__DisplayClass9.<method_play_tracks>b__8(Result`1 res)
Roon.Client.BrooModels.DLL, IL 0, N 19
Sooloos.Concurrency.Version.DispatchPostHandlers(Object o)
Roon.Broker.Concurrency.DLL, IL 56, N 127
Sooloos.Concurrency.SharedState`1.FlushEvents()
Roon.Broker.Concurrency.DLL, IL 84, N 270
Sooloos.Broker.State.BeginAccess(List`1 out_mutated_objects)
Roon.Broker.Core.DLL, IL 40, N 113
Broo.Engine.DeviceTarget.GuiMainLoop()
BrooEngine.DLL, IL 159, N 603
Sooloos.Application.Main(String[] argv)
Roon.exe, IL 1714, N 3880
01/30 22:30:13 Error:
Failed to write managed crash to disk: System.IO.IOException: The process cannot access the file 'C:\Users\bartv\AppData\Local\Temp\managedcrash_636214122137667404.tgz' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Sooloos.Support.ManagedCrash.LogCrash(String crashdir, ExceptionInfo ei, Int32 maxkeep)
at Sooloos.Support.Manager._CaughtUnhandledException(ExceptionInfo ei)