RoonServer spamming logfiles about System.NullReferenceException

@support

Roon started continuously spamming its log files with an exception. (See below, I also included an ls -l so you can see how quickly it is blowing through the 8MB log file size and rotating).

On my iMac Pro, the locally connected PreBox S2 Digital is no longer available. Other zones appear to be showing normally, but I’m up in the wee hours of the morning here, so can’t actually test playing any music to them as it would wake others. If I go into Roon’s audio settings on the Mac, it shows the S2 Digital, but the name has been lost and if I attempt to give it a name, it will not take it and goes back to a blank name. Disabling and then re-enabling the S2 device within Roon does not correct this.

I then restarted Roon Core as a test. The log appears normal now (no spamming of the exception, doing the normal startup scanning of my library). And the iMac Pro now sees the S2 Digital again and with the correct name. So whatever was amiss, it’s related to the exception the Core was cycling infinitely on. Roon was running for about eight days when this started.

Any thoughts on why Roon would have gotten stuck in an exception loop here?

(I am running Roon 1.5 current on all devices. Roon Core is running on a CentOS 7 system.)

    07/26 04:11:12 Critical: scx: in OnExit: System.NullReferenceException: Object reference not set to an instance of an object
      at Sooloos.Broker.Transport.RaatAudioDevice.get_SupportedFormats () [0x00013] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].get_SupportedFormats () [0x00007] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].UpdateCommonConfig () [0x0001c] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].Update () [0x00086] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].ev_threadexit () [0x0000f] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.Module.ev_threadexit () [0x00023] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.SynchronizationContextThread.OnExit () [0x0000a] in <67e7ecea918c47759e67ffc5216cf001>:0
    07/26 04:11:12 Critical: scx: in OnExit: System.NullReferenceException: Object reference not set to an instance of an object
      at Sooloos.Broker.Transport.RaatAudioDevice.get_SupportedFormats () [0x00013] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].get_SupportedFormats () [0x00007] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].UpdateCommonConfig () [0x0001c] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].Update () [0x00086] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].ev_threadexit () [0x0000f] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.Module.ev_threadexit () [0x00023] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.SynchronizationContextThread.OnExit () [0x0000a] in <67e7ecea918c47759e67ffc5216cf001>:0
    07/26 04:11:12 Critical: scx: in OnExit: System.NullReferenceException: Object reference not set to an instance of an object
      at Sooloos.Broker.Transport.RaatAudioDevice.get_SupportedFormats () [0x00013] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].get_SupportedFormats () [0x00007] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].UpdateCommonConfig () [0x0001c] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].Update () [0x00086] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].ev_threadexit () [0x0000f] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.Module.ev_threadexit () [0x00023] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.SynchronizationContextThread.OnExit () [0x0000a] in <67e7ecea918c47759e67ffc5216cf001>:0
    07/26 04:11:12 Critical: scx: in OnExit: System.NullReferenceException: Object reference not set to an instance of an object
      at Sooloos.Broker.Transport.RaatAudioDevice.get_SupportedFormats () [0x00013] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].get_SupportedFormats () [0x00007] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].UpdateCommonConfig () [0x0001c] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].Update () [0x00086] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].ev_threadexit () [0x0000f] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.Module.ev_threadexit () [0x00023] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.SynchronizationContextThread.OnExit () [0x0000a] in <67e7ecea918c47759e67ffc5216cf001>:0
    07/26 04:11:12 Critical: scx: in OnExit: System.NullReferenceException: Object reference not set to an instance of an object
      at Sooloos.Broker.Transport.RaatAudioDevice.get_SupportedFormats () [0x00013] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].get_SupportedFormats () [0x00007] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].UpdateCommonConfig () [0x0001c] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].Update () [0x00086] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.AudioDeviceSetupBase`2[SELFTYPE,DEVICETYPE].ev_threadexit () [0x0000f] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.Broker.Transport.Module.ev_threadexit () [0x00023] in <a67e7dbead7f4e1a8e3120ab76fd70f3>:0
      at Sooloos.SynchronizationContextThread.OnExit () [0x0000a] in <67e7ecea918c47759e67ffc5216cf001>:0
    [caw@roonserver001 Logs]$ ls -l
    total 178788
    -rw-r--r--. 1 root root 8396996 Jul 26 03:55 RoonServer_log.01.txt
    -rw-r--r--. 1 root root 8397275 Jul 26 03:35 RoonServer_log.02.txt
    -rw-r--r--. 1 root root 8397321 Jul 26 03:15 RoonServer_log.03.txt
    -rw-r--r--. 1 root root 8396976 Jul 26 02:55 RoonServer_log.04.txt
    -rw-r--r--. 1 root root 8397610 Jul 26 02:35 RoonServer_log.05.txt
    -rw-r--r--. 1 root root 8397217 Jul 26 02:15 RoonServer_log.06.txt
    -rw-r--r--. 1 root root 8396976 Jul 26 01:55 RoonServer_log.07.txt
    -rw-r--r--. 1 root root 8397511 Jul 26 01:35 RoonServer_log.08.txt
    -rw-r--r--. 1 root root 8397160 Jul 26 01:15 RoonServer_log.09.txt
    -rw-r--r--. 1 root root 8397322 Jul 26 00:56 RoonServer_log.10.txt
    -rw-r--r--. 1 root root 8397610 Jul 26 00:36 RoonServer_log.11.txt
    -rw-r--r--. 1 root root 8397370 Jul 26 00:16 RoonServer_log.12.txt
    -rw-r--r--. 1 root root 8397469 Jul 25 23:56 RoonServer_log.13.txt
    -rw-r--r--. 1 root root 8397511 Jul 25 23:36 RoonServer_log.14.txt
    -rw-r--r--. 1 root root 8397160 Jul 25 23:16 RoonServer_log.15.txt
    -rw-r--r--. 1 root root 8397175 Jul 25 22:56 RoonServer_log.16.txt
    -rw-r--r--. 1 root root 8396979 Jul 25 22:36 RoonServer_log.17.txt
    -rw-r--r--. 1 root root 8400259 Jul 25 22:15 RoonServer_log.18.txt
    -rw-r--r--. 1 root root 8463381 Jul 25 20:39 RoonServer_log.19.txt
    -rw-r--r--. 1 root root 8319426 Jul 20 19:12 RoonServer_log.20.txt
    -rw-r--r--. 1 root root 7116573 Jul 26 04:11 RoonServer_log.txt

Another data point, in case it helps: From the ‘ls -l’ output, Roon was spamming this all night long. Last thing I did with Roon was playing music to my Vega G2 in the living room until going to bed. I paused playback in Roon via my Android mobile, then hit the “all power off” button on my Harmony Remote, which includes sending the IR code to the Vega G2 to put it into standby mode. So possibility is the Vega G2 going into standby somehow contributed to the Roon Core going off to lala land. However, going to standby mode is my normal practice when shutting down the living room system, so it’s not a guaranteed trigger if it is indeed related to what happened.

Thanks for sharing your observations with us, @cwichura!

I’ve created a report with the log snippet you provided and will pass it along to the technical team to review. I’ll be sure to update you when I receive their feedback.

I’m glad to hear that everything is working properly now, though. Just to confirm, this is the only time this behavior has occurred, right?

Regards,
Dylan

Correct, this is the first time it has happened. But that is maybe not a good barometer, as I am new to Roon and have only had it installed 8-10 days.

(Also, FWIW, I checked the oldest log file and it was still just the the exception over and over as well, so no log data leading up to whatever triggered it is available; it had already been cycled out.)