Roon on Debian Linux Problem

Roon Core Machine

NUC 10
Intel(R) Core™ i7-10710U CPU @ 1.10GHz
32GB RAM
1TB 2.5" SSD for storage
512MB M.2 nVME for OS
Debian 11

Networking Gear & Setup Details

Ubiquiti swtiches and AP’s

Connected Audio Devices

N/A

Number of Tracks in Library

Very small

Description of Issue

Today, the Roon Core just became inaccessible and this is the first time (in a year or so) that this happened. The NUC is accessible through the network (it’s also a Plex server). When I do a systemctl status roonserver.service, I get this:

root@nuc:~# systemctl status roonserver.service
● roonserver.service - RoonServer
     Loaded: loaded (/etc/systemd/system/roonserver.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-03-31 18:03:23 PST; 32min ago
   Main PID: 6319 (start.sh)
      Tasks: 64 (limit: 38122)
     Memory: 10.0G
        CPU: 1h 42min 31.387s
     CGroup: /system.slice/roonserver.service
             ├─ 6319 /bin/bash /opt/RoonServer/start.sh
             ├─ 6323 /opt/RoonServer/RoonDotnet/RoonServer RoonServer.dll
             ├─11935 /opt/RoonServer/RoonDotnet/RoonAppliance RoonAppliance.dll -watchdogport=36295
             └─11936 /opt/RoonServer/Server/processreaper 11935

Mar 31 18:35:26 nuc start.sh[6323]: Started
Mar 31 18:35:28 nuc start.sh[6323]: Not responding
Mar 31 18:35:44 nuc start.sh[6323]: 00:32:20.483 Debug: PathForResource, filename: ../.update
Mar 31 18:35:44 nuc start.sh[6323]: 00:32:20.483 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 18:35:44 nuc start.sh[6323]: Error
Mar 31 18:35:46 nuc start.sh[6323]: 00:32:22.483 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 18:35:46 nuc start.sh[6323]: 00:32:22.483 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 18:35:46 nuc start.sh[6323]: Initializing
Mar 31 18:35:46 nuc start.sh[6323]: Started
Mar 31 18:35:48 nuc start.sh[6323]: Not responding

So it looks like the service itself has a problem. My father is the actual user (through an iPad to control the Core), and I’m just the IT guy. He said an update happened yesterday and the server continued to work until earlier this morning. When he tried again tonight, it is no longer accessible.

What could be causing this?

Kevin,

I’m running Roon Server on Debian, albeit under BHYVE 1.0.

Normally after a successful update I need to manually restart the service with the following command,

sudo systemctl restart roonserver.service

For me this normally works.

Occasionally I have had to rerun the installer script then restart the service and just restore my database from the previous nights backup. (This I have only had to do once though)

Thanks for the reply. I already tried restarting the service and it just gives me the same error. At this point, do I need to just rerun the installer script? If I do that, will it necessary be a fresh install and you just restore the database from the backups you have? Also, don’t I need to uninstall first?

Have you tried tailing the log file to look for any specific errors?

1 Like

Kevin,

the installer script removes the necessary Roon files. It does not touch the actual local audio files but obviously you should manage any necessary backups for those separately. Then it is simply a matter of selecting the backup folder to restore from under settings.

What @Chris22 says, do a tail first.

Which log file should I be tailing? /var/log/syslog?

Haven’t used roon on linux for a while but think it should be the RoonServer.txt file in the log folder, think it is in /var/roon/RoonServer or /opt/RoonServer/

Each time you restart the service it will archive the current log file and create a new one but tail -f should be ok with the rotating log as long as you use the non archive name.

Also,

try the following,

sudo journalctl -u roonserver.service -b

this will show you info from the current boot only.

1 Like

Not seeing anything useful in /var/roon/RoonServer/Logs:

03/31 20:40:45 Info: Starting RoonServer v1.8 (build 923) stable on linuxx64
03/31 20:40:45 Trace: [roondns] loaded 27 last-known-good entries
03/31 20:40:45 Trace: Checking if we are already running
03/31 20:40:45 Warn: get lock file path: /tmp/.rnsems0-roon
03/31 20:40:45 Trace: Nope, we are the only one running
03/31 20:40:45 Info: Is 64 bit? True
03/31 20:40:45 Info: Command Line Argument: -watchdogport=41069
03/31 20:40:45 Trace: [realtime] fetching time from NTP server
03/31 20:40:45 Trace: [realtime] Got time from NTP: 31/03/2022 12:40:45 pm (3857719245660ms)
03/31 20:40:45 Trace: [realtime] Updated clock skew to -00:00:00.0061514 (-6.1514ms)
03/31 20:40:45 Trace: [ipaddresses] enumerating addresses
03/31 20:40:45 Trace: [ipaddresses]    FOUND   lo 127.0.0.1
03/31 20:40:45 Trace: [ipaddresses]    FOUND   eno1 192.168.10.17
03/31 20:40:45 Trace: [ipaddresses]    FOUND   br-16d49763586e 172.18.0.1
03/31 20:40:45 Trace: [ipaddresses]    SKIPPED docker0: not up
03/31 20:40:45 Trace: [ipaddresses]    SKIPPED vethff773c8: no ipv4
03/31 20:40:45 Trace: [ipaddresses]    SKIPPED veth52e18a8: no ipv4
03/31 20:40:45 Trace: [ipaddresses]    SKIPPED veth1b9c150: no ipv4
03/31 20:40:45 Trace: [ipaddresses]    SKIPPED veth71477a2: no ipv4
03/31 20:40:46 Info: [stats] 22397mb Virtual, 996mb Physical, 893mb Managed, 93 Handles, 28 Threads
Mar 31 20:38:01 nuc systemd[1]: Stopping RoonServer...
Mar 31 20:38:02 nuc systemd[1]: roonserver.service: Succeeded.
Mar 31 20:38:02 nuc systemd[1]: Stopped RoonServer.
Mar 31 20:38:02 nuc systemd[1]: roonserver.service: Consumed 8h 5min 8.769s CPU time.
Mar 31 20:38:02 nuc systemd[1]: Started RoonServer.
Mar 31 20:38:02 nuc start.sh[33170]: 00:00:00.000 Warn:  get lock file path: /tmp/.rnsgem0-
Mar 31 20:38:03 nuc start.sh[33170]: 00:00:00.019 Debug: PathForResource, filename: ../.update
Mar 31 20:38:03 nuc start.sh[33170]: 00:00:00.021 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:38:03 nuc start.sh[33170]: 00:00:00.022 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:38:03 nuc start.sh[33170]: 00:00:00.022 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:38:03 nuc start.sh[33170]: Initializing
Mar 31 20:38:03 nuc start.sh[33170]: Started
Mar 31 20:38:08 nuc start.sh[33170]: Not responding
Mar 31 20:38:23 nuc start.sh[33170]: 00:00:20.367 Debug: PathForResource, filename: ../.update
Mar 31 20:38:23 nuc start.sh[33170]: 00:00:20.367 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:38:23 nuc start.sh[33170]: Error
Mar 31 20:38:25 nuc start.sh[33170]: 00:00:22.368 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:38:25 nuc start.sh[33170]: Initializing
Mar 31 20:38:25 nuc start.sh[33170]: 00:00:22.368 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:38:25 nuc start.sh[33170]: Started
Mar 31 20:38:28 nuc start.sh[33170]: Not responding
Mar 31 20:38:43 nuc start.sh[33170]: 00:00:40.375 Debug: PathForResource, filename: ../.update
Mar 31 20:38:43 nuc start.sh[33170]: 00:00:40.376 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:38:43 nuc start.sh[33170]: Error
Mar 31 20:38:45 nuc start.sh[33170]: 00:00:42.376 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:38:45 nuc start.sh[33170]: Initializing
Mar 31 20:38:45 nuc start.sh[33170]: 00:00:42.376 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:38:45 nuc start.sh[33170]: Started
Mar 31 20:38:48 nuc start.sh[33170]: Not responding
Mar 31 20:39:03 nuc start.sh[33170]: 00:01:00.428 Debug: PathForResource, filename: ../.update
Mar 31 20:39:03 nuc start.sh[33170]: 00:01:00.428 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:39:03 nuc start.sh[33170]: Error
Mar 31 20:39:05 nuc start.sh[33170]: 00:01:02.428 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:39:05 nuc start.sh[33170]: 00:01:02.429 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:39:05 nuc start.sh[33170]: Initializing
Mar 31 20:39:05 nuc start.sh[33170]: Started
Mar 31 20:39:08 nuc start.sh[33170]: Not responding
Mar 31 20:39:23 nuc start.sh[33170]: 00:01:20.449 Debug: PathForResource, filename: ../.update
Mar 31 20:39:23 nuc start.sh[33170]: 00:01:20.449 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:39:23 nuc start.sh[33170]: Error
Mar 31 20:39:25 nuc start.sh[33170]: Initializing
Mar 31 20:39:25 nuc start.sh[33170]: 00:01:22.449 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:39:25 nuc start.sh[33170]: 00:01:22.449 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:39:25 nuc start.sh[33170]: Started
Mar 31 20:39:28 nuc start.sh[33170]: Not responding
Mar 31 20:39:43 nuc start.sh[33170]: 00:01:40.434 Debug: PathForResource, filename: ../.update
Mar 31 20:39:43 nuc start.sh[33170]: 00:01:40.434 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:39:43 nuc start.sh[33170]: Error
Mar 31 20:39:45 nuc start.sh[33170]: 00:01:42.435 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:39:45 nuc start.sh[33170]: 00:01:42.435 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:39:45 nuc start.sh[33170]: Initializing
Mar 31 20:39:45 nuc start.sh[33170]: Started
Mar 31 20:39:48 nuc start.sh[33170]: Not responding
Mar 31 20:40:03 nuc start.sh[33170]: 00:02:00.429 Debug: PathForResource, filename: ../.update
Mar 31 20:40:03 nuc start.sh[33170]: 00:02:00.429 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:40:03 nuc start.sh[33170]: Error
Mar 31 20:40:05 nuc start.sh[33170]: 00:02:02.429 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:40:05 nuc start.sh[33170]: 00:02:02.429 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:40:05 nuc start.sh[33170]: Initializing
Mar 31 20:40:05 nuc start.sh[33170]: Started
Mar 31 20:40:08 nuc start.sh[33170]: Not responding
Mar 31 20:40:23 nuc start.sh[33170]: 00:02:20.459 Debug: PathForResource, filename: ../.update
Mar 31 20:40:23 nuc start.sh[33170]: 00:02:20.459 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:40:23 nuc start.sh[33170]: Error
Mar 31 20:40:25 nuc start.sh[33170]: 00:02:22.459 Debug: PathForResource, filename: ../Appliance/RoonAppliance
Mar 31 20:40:25 nuc start.sh[33170]: 00:02:22.459 Debug: PathForResource, candidate: /opt/RoonServer/Server/../Appliance/RoonAppliance
Mar 31 20:40:25 nuc start.sh[33170]: Initializing
Mar 31 20:40:25 nuc start.sh[33170]: Started
Mar 31 20:40:28 nuc start.sh[33170]: Not responding
Mar 31 20:40:43 nuc start.sh[33170]: 00:02:40.471 Debug: PathForResource, filename: ../.update
Mar 31 20:40:43 nuc start.sh[33170]: 00:02:40.471 Debug: PathForResource, candidate: /opt/RoonServer/Server/../.update
Mar 31 20:40:43 nuc start.sh[33170]: Error
Mar 31 20:40:45 nuc start.sh[33170]: Initializing

Same error messages.

Kevin,

Are you using this Debian install just for the Roon Server or is it part of wider services?

In my use case I have a Debian install running under BHYVE that is simply for Roon Server so ultimately its quite simple to just start over as all files and backups are on other devices etc.

My normal routine for applying any Roon updates to the core is as follows,

sudo apt update
sudo apt list --upgradable

Then I take a quick look at what’s being upgraded.

sudo apt upgrade

Once complete I then run the Roon updater from client.

If I run any issues that don’t seem to be resolved by a (which can happen)

sudo systemctl restart roonserver.service

I’ll go nuclear and rerun the install script.

1 Like

The server has NUC and Plex on it and a couple of docker containers. I can take it down if necessary. I’m all for reinstalling and restoring from backups. I’ve done in, I think, once in the past but I’m not sure if I ran the uninstall script before the install script. I know you said the install script removes the necessary Roon files but does that mean it does exactly what the uninstall script does?

Kevin,

I have never run the uninstall script as the install script appears to check if already installed and actually asks if you want to delete etc.

I’d apt update etc before hand though.

1 Like

I did an apt update && apt upgrade, rebooted the NUC, reinstalled using the x64 install script and same thing (not responding). I tried using the uninstall script, rebooted, and reinstalled using the same script, and still the same thing. So there’s something going on that’s making the service not respond.

Kevin,

Can you restart your modem/router, then run

sudo systemctl restart roonserver.service

I already tried restarting the service earlier and it did nothing. I also don’t think rebooting any network device (ubiquiti switches, AP’s, and pfsense) would do anything. I can access the NUC just fine and I can access my Plex server that’s on the same device.

Ok, so it works now. What I needed to do was to delete /var/roon after running the uninstall script and before reinstalling. This was done because the database is in /var/roon and the uninstall script doesn’t touch that. After all these, I just restored from my last backup. Could the root cause probably be a corrupted database or something?

1 Like

It’s far from unknown, there are also some cache and temp files in there that I sometimes delete if I feel Roon is sluggish and needs some shock treatment.

1 Like

Ok, now the problem is back.

Journal since boot: gist:70bbadbfe9fff1e8a637b022f85b8c54 · GitHub

It looks like it’s started not responding on Apr 1 and it fixed itself and then back to being not responding now. Any other ideas?

Would you run:
ls -l /opt/RoonServer/Server/…/.update
and give the output?
The path is odd.
Both errors introduce …/ into the path. I do not know why it would be explicitly called with:
/opt/RoonServer/Server/…/.update
vs
/opt/RoonServer/.update as is written above.

Just can’t escape the 2x . … properly sorry.

root@nuc:~# ls -l /opt/RoonServer/Server/…/.update
ls: cannot access '/opt/RoonServer/Server/…/.update': No such file or directory

…/ is just a shortcut, isn’t it?