Roon 2.0 - Crashing on MacOS due to ".NET ThreadPool Worker" [Ticket In]

I have a NUC with ROCK and for the past 10 months have been using a Mac as a remote, playing daily. I experienced no Core crash and two Roon app remote crashes during this time, both of which with the .NET ThreadPool Worker error, but not a problem at this rate

Nice! An error every 5 months would beat 6+ daily. And it always seems to happen when you are enjoying something the most. AND - I finally had my spouse in the habit of going to Roon to manage the music, and now having to manage their expectations because it is constantly breaking is SUPER frustrating.

1 Like

Are you running just the Roon server (no GUI) and have uninstalled the Roon all in one app?

I am only running server on the Mac Mini. I have not ā€œuninstalledā€ the all-in-one app. What is uninstall process for the AIO app, other that deleting the applications from Applications? Any preference files or Application Support files need to be deleted? Iā€™m skeptical as to whether ā€œuninstallingā€ the Mac all-in-one app would affect anything. Unless uninstallation includes removing a system extension or something.

For what itā€™s worth, I just deleted the all-in-one GUI app.

Unfortunately, as we donā€™t know the actual root cause, I canā€™t say if it would make a difference to you. Maybe affected people have something in their database that doesnā€™t afflict mine, or they have a specific usage pattern that I simply donā€™t happen to trigger :man_shrugging:

I run both HQPlayer Desktop 5 and Roon Server on my 16GB M1 Mac mini. It has an ā€œuptimeā€ of over 13 days and 8 hours. 11GB of memory is used but no process is using more than 1GB. No app appears to have a memory leak nor do any appear to be behaving badly.

I typically only reboot the M1 Mac mini when I update macOS, HQPlayer, or Roon.

My environment is stream-only. Qobuz to iFi Zen Stream over ethernet 99% of the time. If I replace the Zen Stream with Chord Poly over wireless, I get the same amount of crashes.

Yeah but you can still have broken database entries or specific usage patterns (or whatever the cause might be) that I donā€™t have. So my good experience with ROCK canā€™t prove that it will be the same for you

Yeah. Iā€™ve already been through the rebuild database thing a few times.

If Roon needs more user testimony to track this particular problem down, it is welcome to reach out to me.

I still have occasional crashes which have been previously documented, but Iā€™ll be happy to provide new logs and anything else.

1 Like

Here is the crashing thread. According to the crash log, there are an ā€œabort()ā€ called, which is intended. Have here 18 crashes on one day and all related crash logs. Maybe it would be a good idea to analyse the crash logs, calling ā€œthread_get_state + 52ā€ 500 times seams to be not a good idea for my. Itā€™s easy to find the root cause, it crashes after a few minutes, so with a bit of debug coding and a debug log, you can get it in a very short time. The trigger is just using Roon for one user at any time.

Best regards

Henri

hread 25 Crashed:: .NET ThreadPool Worker
0 libsystem_kernel.dylib 0x180fd0764 __pthread_kill + 8
1 libsystem_pthread.dylib 0x181007c28 pthread_kill + 288
2 libsystem_c.dylib 0x180f15ae8 abort + 180
3 libcoreclr.dylib 0x1046fd3cc PROCAbort + 68
4 libcoreclr.dylib 0x1046fd2d0 PROCEndProcess(void*, unsigned int, int) + 400
5 libcoreclr.dylib 0x1048589f8 EEPolicy::HandleFatalStackOverflow(_EXCEPTION_POINTERS*, int) + 764
6 libcoreclr.dylib 0x10492311c HandleHardwareException(PAL_SEHException*) + 688
7 libcoreclr.dylib 0x1046cfb7c SEHProcessException(PAL_SEHException*) + 348
8 libcoreclr.dylib 0x1047042e4 PAL_DispatchException + 136
9 libcoreclr.dylib 0x104703f74 PAL_DispatchExceptionWrapper + 16
10 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
11 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
12 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
13 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
14 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
15 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
16 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
17 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
18 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
19 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
20 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
21 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
22 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
23 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
24 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
25 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
26 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
27 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
28 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
29 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
30 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
31 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
32 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
33 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
34 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52
35 libsystem_kernel.dylib 0x180fd119c thread_get_state + 52

Hereā€™s a crash from yesterday. Cheers!

I took a sample from RoonAppliance, seems to be major problems

Analysis of sampling RoonAppliance (pid 96645) every 1 millisecond
Process:         RoonAppliance [96645]
Path:            /Applications/RoonServer.app/Contents/RoonAppliance.app/Contents/MacOS/RoonAppliance
Load Address:    0x100ff4000
Identifier:      com.roon.RoonAppliance
Version:         1.0 (1.0)
Code Type:       ARM64
Platform:        macOS
Parent Process:  RoonServer [96246]

Date/Time:       2023-08-26 11:37:51.354 +0200
Launch Time:     2023-08-26 11:36:26.891 +0200
OS Version:      macOS 13.5 (22G74)
Report Version:  7
Analysis Tool:   /usr/bin/sample

Physical footprint:         1.1G
Physical footprint (peak):  1.1G
Idle exit:                  untracked
----

Call graph:
    1288 Thread_1102536   DispatchQueue_1: com.apple.main-thread  (serial)
    + 1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + ! 1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !   1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !     1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !       1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !         1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !           1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !             1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !               1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !                 1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !                   1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
    + !                     1287 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int)  (in libcoreclr.dylib) + 852  [0x1029af9fc]
   

(continues forever)

My RoonServer (on Mac mini M1) status alternates between Running / Error / Not Responding.

Roon is totally useless for the last 6 months. Iā€™m soon out!

Well, this is disappointing. I was pointed to this thread after I posted my own. I canā€™t believe that this issue was reported almost a full year ago and there is still not a fix from Roon. Iā€™ve paid for a lifetime membership, too, so itā€™s not like I can just cancel.

I will try the server workaround, but I certainly expected better.

Roon will ultimately move to the server and remote model sooner rather than later anyway as this is already in early access testing.

Fair enough. The fact that it has been left to fester for a full year is pretty bad though.

For what itā€™s worth, I did install the server-only process several days ago, and it is still running. I have not performed extensive playback yet, but previously my core was quitting within 10 minutes of launch, playback or not. So, thereā€™s an improvement.

1 Like

I continue to get daily crashes even with the server workaroundā€¦ Very disappointingā€¦

Hi everyone. Roon crashed with regularity now: