macOS Catalina interface laggy randomly while running Roon (High GPU usage randomly, Roon idle 20% GPU, sometimes up to 99% usage) [Resolved in Roon 1.8]

this looks like something:

+ !                     :   | 1 getIvar(objc_class*, char const*)  (in libobjc.A.dylib) + 59  [0x7fff6c32f5e6]
    + !                     :   1 _class_getVariable  (in libobjc.A.dylib) + 27  [0x7fff6c32f53f]
    + !                     2 ???  (in <unknown binary>)  [0x119c2d82b]
    + !                     : 1 ???  (in <unknown binary>)  [0x114ac13fe]
    + !                     : | 1 mono_class_static_field_address  (in Roon) + 141  [0x107b2f3ed]
    + !                     : |   1 **mono_domain_lock**  (in Roon) + 19  [0x107c800e3]
    **+ !                     : |     1 _pthread_mutex_lock_init_slow  (in libsystem_pthread.dylib) + 52  [0x7fff6d6db66a]**
    + !                     : 1 ???  (in <unknown binary>)  [0x114ac1380]
    + !                     2 ???  (in <unknown binary>)  [0x11acd3663]
    + !                     : 1 ???  (in <unknown binary>)  [0x11ae842d3]
    + !                     : | 1 ???  (in <unknown binary>)  [0x10df194eb]
    + !                     : 1 ???  (in <unknown binary>)  [0x11ae83318]
    + !                     2 ???  (in <unknown binary>)  [0x11ae9b083]
    + !                     : 2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :   2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :     2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :       2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :         2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :           2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :             2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :               2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                 2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                   2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                     2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                       2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                         2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                           2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                             2 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                               1 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                               | 1 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                               |   1 ???  (in <unknown binary>)  [0x11ae9c353]
    + !                     :                               |     1 ???  (in <unknown binary>)  [0x11ae9bd63]
    + !                     :                               |       1 ???  (in <unknown binary>)  [0x11ae9ebcb]
    + !                     :                               1 ???  (in <unknown binary>)  [0x10b400cb0]
    + !                     2 ???  (in <unknown binary>)  [0x11ae9b0eb]
    + !                     : 1 ???  (in <unknown binary>)  [0x11aea5800]
    + !                     : 1 ???  (in <unknown binary>)  [0x11aea6361]
    + !                     2 ???  (in <unknown binary>)  [0x11aea6ba9]
    + !                     : 2 glDrawArrays_ACC_GL3Exec  (in GLEngine) + 214  [0x7fff3e2e2bd4]
    + !                     :   2 gleDoDrawDispatchCoreGL3  (in GLEngine) + 361  [0x7fff3e310600]
    + !                     :     1 gleUpdateDeferredStateFull  (in GLEngine) + 2559  [0x7fff3e30cdc4]
    + !                     :     | 1 gleUpdateFragmentFallbackProgram  (in GLEngine) + 217  [0x7fff3e30464c]
    + !                     :     1 gleUpdateDeferredStateFull  (in GLEngine) + 2636  [0x7fff3e30ce11]
    + !                     :       1 gleUpdateVertexFallbackProgram  (in GLEngine) + 1652  [0x7fff3e303108]
    + !                     :         1 cvmHashMachineFindObject  (in libCVMSPluginSupport.dylib) + 13  [0x7fff3d5b9a03]
    + !                     :           1 cvm_hash_set_find  (in libCVMSPluginSupport.dylib) + 39  [0x7fff3d5b9a34]
    + !                     1 ???  (in <unknown binary>)  [0x10fd4e53b]
    + !                     : 1 ???  (in <unknown binary>)  [0x10b40508f]

What about this?

   + !               : |     9 semaphore_wait_trap  (in libsystem_kernel.dylib) + 10  [0x7fff6d61ce36]
    + !               : 1 ???  (in <unknown binary>)  [0x10c2557b3]
    + !               : | 1 ???  (in <unknown binary>)  [0x10c255a20]
    + !               : 1 ???  (in <unknown binary>)  [0x1110d6143]
    + !               :   1 ???  (in <unknown binary>)  [0x10c255622]
    + !               21 ???  (in <unknown binary>)  [0x1110d6d22]
    + !               13 ???  (in <unknown binary>)  [0x1110d58c5]
    + !               : 6 mono_100ns_ticks  (in Roon) + 11  [0x107dec6db]
    + !               : | 6 mach_absolute_time  (in libsystem_kernel.dylib) + 28,0,...  [0x7fff6d61d298,0x7fff6d61d27c,...]
    + !               : 6 mono_100ns_ticks  (in Roon) + 66,72  [0x107dec712,0x107dec718]
    + !               : 1 ves_icall_System_Threading_Timer_GetTimeMonotonic  (in Roon) + 4  [0x107c9ae74]
    + !               8 ???  (in <unknown binary>)  [0x10c262e38]
    + !               7 ???  (in <unknown binary>)  [0x1110d6f5a]
    + !               7 ???  (in <unknown binary>)  [0x1110d7065]
    + !               6 ???  (in <unknown binary>)  [0x10c262e6c]

The log is plaged of those messages:

  + !       1 worker_callback  (in Roon) + 733  [0x107d50f7d]
    + !         1 mono_string_new_checked  (in Roon) + 70  [0x107d0c7b6]
    + !           1 monoeg_g_utf8_to_utf16  (in Roon) + 23  [0x107df3897]
    + !             1 eg_utf8_to_utf16_general  (in Roon) + 527  [0x107df3aaf]
    + 5 ???  (in <unknown binary>)  [0x1196f8aa3]
    + ! 5 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !   5 ???  (in <unknown binary>)  [0x118e80223]
    + !     5 ???  (in <unknown binary>)  [0x11950bd8e]
    + !       5 ???  (in <unknown binary>)  [0x1110b677b]
    + !         5 ???  (in <unknown binary>)  [0x1193ec852]
    + !           5 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !             5 ???  (in <unknown binary>)  [0x118e80223]
    + !               5 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                 5 ???  (in <unknown binary>)  [0x1110b677b]
    + !                   5 ???  (in <unknown binary>)  [0x1193ec852]
    + !                     5 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                       5 ???  (in <unknown binary>)  [0x118e80223]
    + !                         5 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                           5 ???  (in <unknown binary>)  [0x1110b677b]
    + !                             5 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               : 3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :   3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :     3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :       3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :         3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :           3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :             3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :               3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                 3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                   3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                     3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                       3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                         3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                           3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                             3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                               3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                 3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                                   3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                                     3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                                       3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                         3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                           3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                                             3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                                               3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                                                 3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                                   3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                                     3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                                                       3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                                                         3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                                                           3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                                             3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                                               3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                                                 3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                                                                   3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                                                                     3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                                                                       3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                                                         3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                                                           3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                                                                             3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                                                                               3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                                                                                 3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                                                                   3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                                                                     3 ???  (in <unknown binary>)  [0x11950bd8e]
    + !                               :                                                                                       3 ???  (in <unknown binary>)  [0x1110b677b]
    + !                               :                                                                                         3 ???  (in <unknown binary>)  [0x1193ec852]
    + !                               :                                                                                           3 ???  (in <unknown binary>)  [0x118e7ecb3]
    + !                               :                                                                                             3 ???  (in <unknown binary>)  [0x118e80223]
    + !                               :                                                                                               3 ???  (in <unknown binary>)  [0x11a08731e]
    + !                               :                                                                                                 2 ???  (in <unknown binary>)  [0x164b492bb]
    + !                               :                                                                                                 | 1 ???  (in <unknown binary>)  [0x10c26c38b]
    + !                               :                                                                                                 | + 1 ???  (in <unknown binary>)  [0x10c26c6ed]
    + !                               :                                                                                                 | +   1 ves_icall_System_IO_MonoIO_Write_raw  (in Roon) + 96  [0x107ca06a0]
    + !                               :                                                                                                 | +     1 ves_icall_System_IO_MonoIO_Write  (in Roon) + 219  [0x107d78aeb]
    + !                               :                                                                                                 | +       1 mono_w32file_read_or_write  (in Roon) + 146  [0x107d71f92]
    + !                               :                                                                                                 | +         1 file_write  (in Roon) + 331  [0x107d772eb]
    + !                               :                                                                                                 | +           1 write  (in libsystem_kernel.dylib) + 10  [0x7fff6d61fbf6]
    + !                               :                                                                                                 | 1 ???  (in <unknown binary>)  [0x111016923]
    + !                               :                                                                                                 |   1 ???  (in <unknown binary>)  [0x1110169d3]
    + !                               :                                                                                                 |     1 ???  (in <unknown binary>)  [0x10b40cfab]
    + !                               :                                                                                                 |       1 ???  (in <unknown binary>)  [0x10c24efeb]
    + !                               :                                                                                                 |         1 ???  (in <unknown binary>)  [0x10c253a27]
    + !                               :                                                                                                 |           1 SystemNative_LStat2  (in libmono-native.dylib) + 27  [0x10b5b05db]
    + !                               :                                                                                                 |             1 lstat$INODE64  (in libsystem_kernel.dylib) + 10  [0x7fff6d62372e]
    + !                               :                                                                                                 1 ???  (in <unknown binary>)  [0x164b493fa]
    + !                               1 ???  (in <unknown binary>)  [0x1196aa5f3]
    + !                               : 1 ???  (in <unknown binary>)  [0x1196aab0b]
    + !                               :   1 ???  (in <unknown binary>)  [0x1196c3043]
    + !                               :     1 ???  (in <unknown binary>)  [0x1196c31a3]
    + !                               :       1 ???  (in <unknown binary>)  [0x1196c511b]
    + !                               :         1 ???  (in <unknown binary>)  [0x1196c63e9]
    + !                               :           1 ???  (in <unknown binary>)  [0x1196c67c3]
    + !                               :             1 ???  (in <unknown binary>)  [0x1196c6d53]

The jagged scrolling occurs when editing an album and scrolling in the edit-overlay (see screenshot).

Iā€™m getting this when switching between different screens:

RunningBoard	standaard	09:59:19.764369+0200	runningboardd	Acquiring assertion targeting executable<Roon(501)> from originator [daemon<com.apple.coreservices.launchservicesd>:156] with description <RBSAssertionDescriptor; frontmost:98026; ID: 335-156-5683; target: 98026> attributes = {
    <RBSDomainAttribute: 0x7f85a7e22be0; domain: com.apple.launchservicesd; name: RoleUserInteractiveFocal; sourceEnvironment: 0x0>;
}
RunningBoard	standaard	09:59:19.764556+0200	runningboardd	Assertion 335-156-5683 (target:executable<Roon(501)>) will be created as active
NowPlayingTouchUI	standaard	09:59:19.769536+0200	NowPlayingTouchUI	[NowPlayingTouchUI] Reloading available apps due to workspace activating an application: NSConcreteNotification 0x600001d19230 {name = NSWorkspaceDidActivateApplicationNotification; object = <NSWorkspace: 0x60000115c4b0>; userInfo = {
    NSWorkspaceApplicationKey = "<NSRunningApplication: 0x600003d76400 (com.roon.Roon - 98026) LSASN:{hi=0x0;lo=0x422422}>";
}}
RunningBoard	standaard	09:59:19.770601+0200	runningboardd	Finished acquiring assertion 335-156-5683 (target:executable<Roon(501)>)
RunningBoard	standaard	09:59:19.770824+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring jetsam update because this process is not memory-managed
RunningBoard	standaard	09:59:19.771353+0200	runningboardd	[executable<Roon(501)>:98026] Set darwin role to: UserInteractiveFocal
RunningBoard	standaard	09:59:19.771696+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring GPU update because this process is not GPU managed
RunningBoard	standaard	09:59:22.451632+0200	runningboardd	Invalidating assertion 335-156-5683 (target:executable<Roon(501)>) from originator 156
RunningBoard	standaard	09:59:22.564455+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring jetsam update because this process is not memory-managed
RunningBoard	standaard	09:59:22.568447+0200	runningboardd	[executable<Roon(501)>:98026] Set darwin role to: UserInteractiveNonFocal
RunningBoard	standaard	09:59:22.568593+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring GPU update because this process is not GPU managed
RunningBoard	standaard	09:59:24.170042+0200	runningboardd	Acquiring assertion targeting executable<Roon(501)> from originator [daemon<com.apple.coreservices.launchservicesd>:156] with description <RBSAssertionDescriptor; frontmost:98026; ID: 335-156-5685; target: 98026> attributes = {
    <RBSDomainAttribute: 0x7f85a7c0f810; domain: com.apple.launchservicesd; name: RoleUserInteractiveFocal; sourceEnvironment: 0x0>;
}
RunningBoard	standaard	09:59:24.170299+0200	runningboardd	Assertion 335-156-5685 (target:executable<Roon(501)>) will be created as active
NowPlayingTouchUI	standaard	09:59:24.174220+0200	NowPlayingTouchUI	[NowPlayingTouchUI] Reloading available apps due to workspace activating an application: NSConcreteNotification 0x600001d1ca50 {name = NSWorkspaceDidActivateApplicationNotification; object = <NSWorkspace: 0x60000115c4b0>; userInfo = {
    NSWorkspaceApplicationKey = "<NSRunningApplication: 0x600003d10300 (com.roon.Roon - 98026) LSASN:{hi=0x0;lo=0x422422}>";
}}
RunningBoard	standaard	09:59:24.174978+0200	runningboardd	Finished acquiring assertion 335-156-5685 (target:executable<Roon(501)>)
RunningBoard	standaard	09:59:24.176934+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring jetsam update because this process is not memory-managed
RunningBoard	standaard	09:59:24.177586+0200	runningboardd	[executable<Roon(501)>:98026] Set darwin role to: UserInteractiveFocal
RunningBoard	standaard	09:59:24.178070+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring GPU update because this process is not GPU managed
RunningBoard	standaard	09:59:28.374581+0200	runningboardd	Invalidating assertion 335-156-5685 (target:executable<Roon(501)>) from originator 156
RunningBoard	standaard	09:59:28.481324+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring jetsam update because this process is not memory-managed
RunningBoard	standaard	09:59:28.481524+0200	runningboardd	[executable<Roon(501)>:98026] Set darwin role to: UserInteractiveNonFocal
RunningBoard	standaard	09:59:28.482455+0200	runningboardd	[executable<Roon(501)>:98026] Ignoring GPU update because this process is not GPU managed

Is that from the https://support.omnigroup.com/sample-osx/ @noris requested? In case no can you repro then collect and upload here a copy of your sample?

morning @noris I compared the sample with the one from my MacBook Air 2014 and has nothing like this looping logging from the iMac 2019 over and over these events:

Edit: Compare it to a 2018 MBP and those unknown binary messages are looping there in the MBP sample as well.

@noris

I experience the issue on an old late-2013 MBPro with no separate GPU, only embedded graphic controller.

I have a 2019 MBPro 16" on orderā€¦arriving next week.

Let me know if you can use logs or other info from 2013 machine.

@Larry_Post if you can get the sample while the issue is happening they are going to use them if you have the GPU 100% usage in that 2013 upload the sample https://support.omnigroup.com/sample-osx/

@noris here it is: https://juliusvandervaart.stackstorage.com/s/tKNvd6w9QVd8sV3

1 Like

Hi @mavmcl dit you try runnung Apple Diagnostics to find out if there arenā€™t any hardware errors? https://support.apple.com/en-us/HT202731

Iā€™m not experiencing the extremes you are.

1 Like

I ran few tests already all good so far

1 Like

hey @jmvdv got it why it is so different, yourā€™s is not the core machine, mine is.

Sounds reasonable!

Hi @noris, guys, I think I found kind of an implementation that will make this issue less painful at least for me and other users running the core in the high GPU usage affected Mac.

I backed up Roon DB > removed Roon completely > downloaded Roon Server for Mac, Bridge and Roon > Proceeded with the install:

1-Roon server.
2-Roon bridge.
3-Roon to have an interface.

This way when the high GPU usage occurs I do not have to recycle Roon completely, I will just do command Q to close the interface, but Roon Server and bridge will continue working in the background, meaning the music will continue playing:

Looks like this approach will help as well with the crazy CPU usage many users report, before this change my Roon was using 300% of CPU, now check this out 2%, 4%ā€¦ and has been running since yesterday without having to reboot the Mac. This quarantine/lockdown is driving me crazy :smiley:

Definitively the GPU issue in the interface for these Macs still has to be fixed, it just happened.

1 Like

Following up to this thread too. There is a brutal rendering glitch is osx. you can see with my posted picture the difference

Screen Shot 2020-05-18 at 7.58.42 PM

between roon open as an application vs hidden.
2 Likes

hey @noris do you have any feedback from QA you can share with us, I am super anxious to get this GPU issue fixed, canā€™t wait for a next version.
Thanks.

1 Like

Hi @mavmcl,

Thanks for sending the Sample Processes over. I have a meeting scheduled with QA for later this week to discuss this issue, once I have met with them and have discussed next steps, Iā€™ll be sure to follow-up here.

1 Like

Hi @mavmcl,

I had a chance to discuss this case further with QA and they have confirmed that theyā€™re able to reproduce this behavior in the lab again, thanks for the secondary desktop suggestion :+1:.

We have a theory regarding OpenGL as to what might be causing this, and weā€™re investigating this in the lab. Iā€™ll let you know how our theory pans out.

2 Likes

Hi @noris, thanks for the update, great to hear they made it to repro again and have some clues about the issue.

1 Like

@noris - i have uploaded my sample to dropbox:

The slowdown usually occurs when I am editing the Edit Track submenu within Track Editor.

1 Like

@noris - I have uploaded another sample of Roon. This time the slowdown occurred when I entered the Settings -> Audio -> Device Settings submenu for my endpoint.

1 Like

Thanks for the samples @RustySanwa. As I mentioned earlier in the thread, weā€™ve also managed to reproduce this in the QA lab and are working on a theory regarding OpenGL at this time, Iā€™ll be sure to let you know if we need more info.

1 Like