Roon unstable - Core on QNAP TS-1685 QTS 4.4.3.1400

Hi there - need for @support #support.

Things have been fairly smooth sailing until the last couple of QNAP firmware updates, which took my core offline. It now appears to be in an endless loop of the following:

26.08.20-00:40:52 — Initializing
26.08.20-00:40:52 — Started
26.08.20-00:40:53 — Not responding
26.08.20-00:40:55 — Error

I’ve tried remove/reinstall of the QPKG, a build of my own qpkg from the GH source, and a variety of other fiddling. No joy.

Observed client behavior is that /sometimes/ the server will stay up long enough to flash the library view but will immediately fall over and start the loop.

QNAP app interface shows the app as running, and is not catching the instability in the logs.

Any help would be appreciated.

Per this reply -

So, also tagging@crieke, as he is the Core on NAS guy.

Any assistance @support or @crieke?

Hi @Mark_Bagley,
I am sorry for the late reply, I was rarely home the last days…
Could you press the “Download Logs” button in the QNAP web interface of Roon Server? You can find this option, if you click the small ambulance icon.
Please send them to me an I’ll have a look ( chris <-at-> roononnas.org )

No worries. Logs are with you now.

Thanks Mark,
I have received them and noticed a critical error by the Roon Server software in the logs. If I am not mistaken, this looks to me like a database corruption. (maybe @support can verify?)

Application Domain:    RoonAppliance.exe
Assembly Codebase:     file:///share/CACHEDEV4_DATA/.qpkg/RoonServer/RoonServer/Appliance/RoonAppliance.exe
Assembly Full Name:    RoonAppliance, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

   Exception Source:      mscorlib
   Exception Type:        LevelDb.Exception
   Exception Target Site: ExceptionDispatchInfo.Throw
   Exception Message:     Corruption: corrupted compressed block contents
   Exception Data:        none

   --[ Stack Trace ]------------
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       mscorlib.dll, IL 12, N 43
   System.Threading.Tasks.AwaitTaskContinuation/<>c.<ThrowAsyncIfNecessary>b__17_0(Object s)
       mscorlib.dll, IL 0, N 55
   System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
       mscorlib.dll, IL 7, N 70
   System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       mscorlib.dll, IL 113, N 414
   System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       mscorlib.dll, IL 0, N 35
   System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
       mscorlib.dll, IL 33, N 87
   System.Threading.ThreadPoolWorkQueue.Dispatch()
       mscorlib.dll, IL 116, N 618
   System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
       mscorlib.dll, IL 0, N 75

08/26 12:20:53 Error: 
Local Time:            08/26/2020 12:20:53 -07:00
Device Serial Number:  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
User Id:               xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Roon Version:       1.7 (build 610) stable
OS Version:            Linux 4.14.24-qnap
Mono Version:          5.8.0.127 (tarball Fri Jul 31 21:44:29 UTC 2020)

Application Domain:    RoonAppliance.exe
Assembly Codebase:     file:///share/CACHEDEV4_DATA/.qpkg/RoonServer/RoonServer/Appliance/RoonAppliance.exe
Assembly Full Name:    RoonAppliance, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

   Exception Source:      mscorlib
   Exception Type:        LevelDb.Exception
   Exception Target Site: ExceptionDispatchInfo.Throw
   Exception Message:     Corruption: corrupted compressed block contents
   Exception Data:        none

   --[ Stack Trace ]------------
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       mscorlib.dll, IL 12, N 43
   System.Threading.Tasks.AwaitTaskContinuation/<>c.<ThrowAsyncIfNecessary>b__17_0(Object s)
       mscorlib.dll, IL 0, N 55
   System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
       mscorlib.dll, IL 7, N 70
   System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       mscorlib.dll, IL 113, N 414
   System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       mscorlib.dll, IL 0, N 35
   System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
       mscorlib.dll, IL 33, N 87
   System.Threading.ThreadPoolWorkQueue.Dispatch()
       mscorlib.dll, IL 116, N 618
   System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
       mscorlib.dll, IL 0, N 75

If you have a recent backup of your database, I’d suggest to restore your latest database from a backup.

I also noticed that your MTU value of 4 of your ethernet interfaces are set to 9000. Please be careful with these settings, as they can cause trouble if not all of your devices in the network support this feature or are not set up for Jumbo Frames. (Please ignore this advice, if you are perfectly aware of it and know what you are doing.)

Thanks much. I don’t have a DB backup - will see if it’s in a snapshot. If not, then it sounds like recreate time. I’ll poke a little more later.

The 4 interfaces at 9K MTU are part of a LAG to a switch that is configured appropriately - aware and know what I’m doing there. :slight_smile:

Another freaking database corruption? Getting to be a trend.

Roon does not guarantee a successful library restore unless both the backup and the restore were done with Roon’s software.

Hi @Mark_Bagley,

I can also confirm that this appears to be corruption:

@Mark_Bagley - Since you do not have any backups made from within Roon, you should start with a fresh database to get out of this state.

Typically you can start with a fresh database on QNAP by specifying another database location in the QNAP WebUI and then removing the old database location folder.