Roon Bridge restarts every 86 minutes or so [Resolved - Static IP]

Roon Core Machine

Roon Core 1.8 build 814 stable
Ubuntu Server 20.04 LTS x86-64
ffmpeg version 4.2.4
Core i3 CPU, 4GB RAM, SATA SSD, 1Gb ethernet
8 bay disk array / 24TB total, 12TB useable btrfs filesystem

Networking Gear & Setup Details

Asus AC-68U router
Server/Core connected to router via 1GbE
Pi3B+ connected via WiFi 5GHz or Ethernet over Powerline AV600

Connected Audio Devices

Home Theatre = Nvidia Shield + Denon AVR
Hi-Fi = Pi3B+ running Moode Audio & Roon Bridge + Topping D70s DAC
Desktop = PC (either Win10 + Roon Desktop or Fedora 34 + Roon Bridge) + Topping D50s DAC
Mobile = Samsung Galaxy Tab S7+ tablet, Samsung Galaxy S9, iPhone, Huawei Mediapad T3 10
Others = Chromecast Audio, Pi3 + Allo Boss running Libreelec/Kodi via Airplay

Library Size

Files = >9000 albums, ~101000 tracks, files
Tidal Premium = >1200 albums / ~12000 tracks saved in collection

Description of Issue

I get an issue with Roon Bridge restarting every 86 minutes or so.
I’ve had Roon Bridge installed on a Raspberry Pi since starting my subscription and noticed this more recently, not sure if it wasn’t happening before Roon 1.8 or I just never noticed it but doesn’t matter what OS is on the Pi (used Moode Audio, RaspiOS and Ropieee) nor does it matter if the Pi is connected to the network via Wi-Fi or Ethernet (over powerline).
To test I’ve also installed Roon Bridge on my desktop PC running Fedora 34 and guess what it does exactly the same but I’ll continue with the Pi being the reference here.

The Roon Server running on my Ubuntu server is fine, all other endpoints not running Roon Bridge are fine and will continue playing while Roon Bridge just restarts mid-play with journal messages as below.
As the bridge restart is after a certain time it is predictab!e and so I’ve been able to test and eliminate anything other than the software itself. Can also output to the same Pi via Airplay (using Moode Audio) and no interruptions.

Came to the forum to start this thread but also noticed this thread might actually be the same issue but with a different endpoint. It think it might be relevant that I also have an Asus AC68U router.

As I said it’s about every 86 minutes when the Pi / Roon Bridge endpoint will disappear from Roon remote whether playing or not and looking on the Pi I see that Roon Bridge has restarted…

Aug 21 19:56:56 hifi start.sh[20564]: Not Running (.o)                                                     
Aug 21 19:56:56 hifi start.sh[20564]: Not Running (..)                                                     
Aug 21 19:56:58 hifi start.sh[20564]: 01 days, 08:45:31.606 Info:  ConnectOrStartAndWaitForExit RAATServer,
Aug 21 19:56:58 hifi start.sh[20564]: Not Running (o.)                                                     
Aug 21 19:56:58 hifi start.sh[20564]: 01 days, 08:45:31.634 Info:  Starting /opt/RoonBridge/Bridge/RoonBridAug 21 19:56:58 hifi start.sh[20564]: Running                                                              
Aug 21 19:56:59 hifi start.sh[20564]: 00:00:00.046 Warn:  get lock file path: /tmp/.rnbhgem0-

… and looking back through the Pi’s system journal this happens at regular intervals as if something is timing out and causing the helper program to restart the bridge…

Aug 21 11:24:17 hifi start.sh[20564]: 01 days, 00:12:50.859 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 12:49:30 hifi start.sh[20564]: 01 days, 01:38:03.834 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 14:15:08 hifi start.sh[20564]: 01 days, 03:03:41.753 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 15:40:52 hifi start.sh[20564]: 01 days, 04:29:26.097 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 17:06:13 hifi start.sh[20564]: 01 days, 05:54:47.102 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 18:31:38 hifi start.sh[20564]: 01 days, 07:20:11.477 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 19:56:58 hifi start.sh[20564]: 01 days, 08:45:31.606 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer
Aug 21 21:22:32 hifi start.sh[20564]: 01 days, 10:11:05.453 Info:  ConnectOrStartAndWaitForExit RAATServer, path: /opt/RoonBridge/Bridge/RAATServer

The roonbridge logs will always show these “short read from connector” until it restarts…

pi@hifi:/var/roon/RoonBridge/Logs $ head -50 RoonBridge_log.01.txt                                         08/21 19:56:59 Info: Starting RoonBridge v1.8 (build 814) stable on linuxarmv7hf
08/21 19:57:01 Trace: [rnet/RnetJsonServer] Listening on port 46271
08/21 19:57:01 Trace: [roonbridgehelperserver] SOOD announce
08/21 19:57:01 Trace: [ipaddresses] enumerating addresses
08/21 19:57:02 Trace: [ipaddresses]    SKIPPED lo: not up
08/21 19:57:02 Trace: [ipaddresses]    FOUND   eth0 192.168.1.90
08/21 19:57:02 Trace: [inetdiscovery] added device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307 in addr:__ADDR__
08/21 19:57:02 Trace: [inetdiscovery] added service com.roonlabs.roonbridge.tcp for device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307
08/21 19:57:05 Trace: [rnet/RnetJsonServer] [client 192.168.1.85:53110] GOT {"request":"updates_subscribe"}08/21 19:57:05 Trace: [rnet/RnetJsonServer] [client 192.168.1.85:53110] SENT NONFINAL {"status":"Success","updates":{"is_supported":true,"status":"UpToDate","progress":null,"current_version":{"machine_value":100800814,"branch":"stable","display_value":"1.8 (build 814) stable"},"available_version":null,"update_mode":"AutoCompatible"}}
08/21 19:57:10 Debug: [easyhttp] [1] POST to https://discovery.roonlabs.net/1/register returned after 1962 ms, status code: 200
08/21 19:57:10 Trace: [inetdiscovery] registered 1 devices, 1 services
08/21 19:57:12 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 19:57:12 Trace: [push] connecting to 35.196.244.84:9204
08/21 19:57:12 Trace: [push] connected
08/21 19:57:31 Trace: [appupdater] initial check for updates
08/21 19:57:31 Trace: [rnet/RnetJsonServer] [client 192.168.1.85:53110] SENT NONFINAL {"status":"Changed","updates":{"is_supported":true,"status":"Checking","progress":null,"current_version":{"machine_value":100800814,"branch":"stable","display_value":"1.8 (build 814) stable"},"available_version":null,"update_mode":"AutoCompatible"}}
08/21 19:57:31 Debug: [base/updater] Checking for updates: https://updates.roonlabs.com/update/?v=2&serial=0D87A2C2-807E-4DF5-9559-C0C838B774E8&userid=&platform=linuxarmv7hf&product=RoonBridge&branding=&curbranch=stable&version=100800814&branch=stable&coredeviceid=&deviceid=6a59c16e-261f-4e5c-93e6-d73629323307
08/21 19:57:31 Debug: [appupdater] Update not needed
08/21 19:57:31 Trace: [rnet/RnetJsonServer] [client 192.168.1.85:53110] SENT NONFINAL {"status":"Changed","updates":{"is_supported":true,"status":"UpToDate","progress":null,"current_version":{"machine_value":100800814,"branch":"stable","display_value":"1.8 (build 814) stable"},"available_version":null,"update_mode":"AutoCompatible"}}
08/21 19:57:54 Trace: [push] retrying connection in 0ms
08/21 19:57:54 Trace: [roonbridgehelperserver] network reachability changed, refreshing discovery
08/21 19:57:54 Trace: [roonbridgehelperserver] SOOD announce
08/21 19:57:54 Trace: [inetdiscovery] added device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307 in addr:__ADDR__
08/21 19:57:54 Trace: [inetdiscovery] added service com.roonlabs.roonbridge.tcp for device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307
08/21 19:57:59 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 19:57:59 Trace: [push] connecting to 35.196.244.84:9204
08/21 19:57:59 Trace: [push] connected
08/21 19:57:59 Debug: [easyhttp] [2] POST to https://discovery.roonlabs.net/1/register returned after 127 ms, status code: 200
08/21 19:57:59 Trace: [inetdiscovery] registered 1 devices, 1 services
08/21 19:58:48 Trace: [push] retrying connection in 0ms
08/21 19:58:48 Trace: [roonbridgehelperserver] network reachability changed, refreshing discovery
08/21 19:58:48 Trace: [roonbridgehelperserver] SOOD announce
08/21 19:58:48 Trace: [inetdiscovery] added device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307 in addr:__ADDR__
08/21 19:58:48 Trace: [inetdiscovery] added service com.roonlabs.roonbridge.tcp for device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307
08/21 19:58:48 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 19:58:48 Trace: [push] connecting to 35.196.244.84:9204
08/21 19:58:48 Trace: [push] connected
08/21 19:58:53 Debug: [easyhttp] [3] POST to https://discovery.roonlabs.net/1/register returned after 121 ms, status code: 200
08/21 19:58:53 Trace: [inetdiscovery] registered 1 devices, 1 services
08/21 19:59:43 Trace: [push] retrying connection in 0ms
08/21 19:59:43 Trace: [roonbridgehelperserver] network reachability changed, refreshing discovery
08/21 19:59:43 Trace: [roonbridgehelperserver] SOOD announce
08/21 19:59:43 Trace: [inetdiscovery] added device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307 in addr:__ADDR__
08/21 19:59:43 Trace: [inetdiscovery] added service com.roonlabs.roonbridge.tcp for device roonbridge/6a59c16e-261f-4e5c-93e6-d73629323307
08/21 19:59:43 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 19:59:43 Trace: [push] connecting to 35.196.244.84:9204
08/21 19:59:43 Trace: [push] connected
08/21 19:59:43 Trace: [push] short read from connector (1)
08/21 19:59:43 Trace: [push] retrying connection in 46329ms

...

08/21 21:21:38 Trace: [push] connected
08/21 21:21:38 Trace: [push] short read from connector (1)
08/21 21:21:38 Trace: [push] retrying connection in 95107ms
08/21 21:21:39 Debug: [easyhttp] [94] POST to https://discovery.roonlabs.net/1/register returned after 112 ms, status code: 200
08/21 21:21:39 Trace: [inetdiscovery] registered 1 devices, 1 services
08/21 21:21:41 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:21:41 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:21:41 Trace: [push] connected
08/21 21:21:41 Trace: [push] short read from connector (1)
08/21 21:21:41 Trace: [push] retrying connection in 32377ms
08/21 21:21:46 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:21:46 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:21:46 Trace: [push] connected
08/21 21:21:46 Trace: [push] short read from connector (1)
08/21 21:21:46 Trace: [push] retrying connection in 74187ms
08/21 21:21:58 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:21:58 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:21:58 Trace: [push] connected
08/21 21:21:58 Trace: [push] short read from connector (1)
08/21 21:21:58 Trace: [push] retrying connection in 25081ms
08/21 21:22:13 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:22:13 Trace: [push] connecting to 35.237.82.78:9204
08/21 21:22:13 Trace: [push] connected
08/21 21:22:14 Trace: [push] short read from connector (1)
08/21 21:22:14 Trace: [push] retrying connection in 35220ms
08/21 21:22:18 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:22:18 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:22:18 Trace: [push] connected
08/21 21:22:19 Trace: [push] short read from connector (1)
08/21 21:22:19 Trace: [push] retrying connection in 58710ms
08/21 21:22:20 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:22:20 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:22:20 Trace: [push] connected
08/21 21:22:21 Trace: [push] short read from connector (1)
08/21 21:22:21 Trace: [push] retrying connection in 76463ms
08/21 21:22:24 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:22:24 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:22:24 Trace: [push] connected
08/21 21:22:24 Trace: [push] short read from connector (1)
08/21 21:22:24 Trace: [push] retrying connection in 58385ms
08/21 21:22:26 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:22:26 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:22:26 Trace: [push] connected
08/21 21:22:26 Trace: [push] short read from connector (1)
08/21 21:22:26 Trace: [push] retrying connection in 92669ms
08/21 21:22:29 Trace: Successful POST response from https://push.roonlabs.com/push/1/connect
08/21 21:22:29 Trace: [push] connecting to 35.196.244.84:9204
08/21 21:22:29 Trace: [push] connected
08/21 21:22:29 Trace: [push] short read from connector (1)
08/21 21:22:29 Trace: [push] retrying connection in 4930ms

As said this happens with Roon Bridge at my place regardless of the hardware, architecture or Linux distro it’s running on or whether the network connection is wifi or Ethernet.

Maybe a Lease is expiring? Did you ry Reserving an IP in your router software?

IPs are reserved on the router with a 120 minute lease time so doesn’t really fit with the 86-ish minute restart time of Roon Bridge.
However you have had a similar idea to what I had last night and before I went to bed I set a static IP/gateway on the Pi, the same as what’s reserved on the router… Roon Bridge stopped restarting, nuts.

Will do more fiddling but that looks like the cause of the problem.

Update:
Looks like @dylan hasn’t fully understood the last post here before closing the thread with “Static IP” but I’ll update with the actual cause/fix, it wasn’t setting a static IP address but that was a workaround.
So due to various activities in my tech lab I will often use a short DHCP lease time on my LAN, around 2 hours normally.

A while ago I must’ve decided to quickly expire all IP leases by setting the DHCP lease time on my router to 120 seconds and then forgot to put it back. That should be fine however, but for some reason such a short lease time was causing dhclient on Linux (whatever distro) to reconfigure the gateway address every 85-90 minutes or so which had a knock on effect of Roon Bridge and Roon Server crashing which should not happen. My home server which runs Roon Server/Core wasn’t affected which added to the confusion but with hindsight it was because my server doesn’t use DHCP.

After testing the Pi with DHCP again and with the DHCP server configured with 2 hour and 24 hour lease times for a couple of days the crashes/restarts have gone away even when the lease expires.
So my problem is solved, still this highlights a possible bug in Roon Server and Roon Bridge as they shouldn’t crash, no other software or service on my network was affected by this.

Hope that helps

1 Like