ROCK Update and Admin Page Reporting Issues (ref#A9J896)

Hi! What’s not quite right with Roon?

· Roon is slow, freezing or won’t start

Roon is slow, freezing or won’t start

· Roon is stuck updating or installing

Tell us what's going on

· Roon Optimized Core Kit. Two problems this morning that I suspect are the same
problem. Times below are Brazil time (UTC-3); the raw log timestamps are UTC.

MY SETUP
Roon Optimized Core Kit (happy to give you the serial privately)
RoonOS 2.1 (build 271) production
RoonServer 2.71 (build 1680) production
Wired ethernet, static 192.168.1.67
Internal storage: 1 TB NVMe, 556 GB used of 946 GB
Library: 13,179 tracks / 951 albums
Zones: HQ, NAD, NAD_M17, Optical_Rendu (Sonore opticalRendu)

PROBLEM 1 - THE 1683 UPDATE WILL NOT APPLY

Build 2.71 (build 1683) has been offered to me since 6 August. Today it finally
ran, at 10:02:56 local / 13:02:56 UTC. RoonServer_log shows:

[base/Roon updater script stdout] Install package is at: /tmp/22d5f95f-2547-4892-b94e-6c545ab4a1d2__RoonServer_linuxx64_207101683.tar.bz2
[base/Roon updater script stdout] Installing to: /roon/app/RoonServer
[base/Roon updater script stdout] Removing any old update...
[base/Roon updater script stdout] Untarring new install to /roon/app/RoonServer/.update.tmp

Five seconds later, at 13:03:01 UTC, RoonGoer (pid 1283) and RoonAppliance
(pid 1323) both took SIGTERM:

Warn: RoonAppliance: caught SIGTERM (pid=1323) - default disposition will terminate
Warn: RoonAppliance: watchdog connection closed (length-prefix EOF) - supervisor link lost

The stack came back and was killed twice more - 13:04:14 to 13:04:40, and
13:16:27 to 13:16:57 - before a full reboot at 13:17:11 settled it. Roon looked
healthy at each moment it was killed (media modules loaded, push connector
connected), so it does not look like it was crashing on its own.

The update never took effect. I am still on build 1680, my remotes still offer
1683, and I have rebooted twice more since with no change. There are no SIGTERM
or supervisor-link-lost entries anywhere in my logs before today.

PROBLEM 2 - THE WEB ADMIN PAGE SAYS ROON IS NOT RUNNING, BUT IT IS

The ROCK admin page shows "Roon Server Software - Not Running" with a Start
button, and /1/getstate returns "roon_running": false. But the server is
genuinely running - database loaded, full library present, all four zones
working, and I am playing music while writing this.

I tested the flag deliberately:

Roon running -> roon_running: false
Roon stopped from the admin page -> roon_running: false
Roon started again -> roon_running: false
After a full reboot -> roon_running: false

It reads false in every state, including when the server really is stopped, so
it does not appear to be reporting anything. The Stop and Start controls
themselves work correctly - port 9332 closes and reopens, and the log stops and
resumes exactly as expected. Only the status is wrong.

One more detail that may help: "roon_uptime" in getstate tracks system uptime
exactly, rather than the server's own uptime.

WHAT I NEED
1. How do I get 1683 to install? I would rather not press Update again and
repeat this morning's restart loop.
2. Is the stuck roon_running flag causing the failed update, or is it separate?

I have the full RoonServer and RoonGoer logs from today, including every rotated
file covering each restart. Tell me where to upload them.

Tell us about your home network

· Roon Optimized Core Kit.

This is a bug in 1680 that is fixed in 1683 (if you could install it). Don’t worry about it, this is just an incorrect status display in the web UI.

Did you try going to the web UI and clicking the Reinstall button in the Operating System section?

This will reinstall the OS and Roon Server from scratch and should get everything to the latest version 1683.

It will not touch your Roon database, which is safe. (But nevertheless I recommend having a current backup in any case).

Hello @Paulo_Ovidio_Guimara

That is an unusually good report, and it saves us a lot of work. Thank you for separating the two problems and for testing the flag in every state.

On the status flag. Your own test settles what it is. A value that reads false while the server is genuinely running, and also false when you have deliberately stopped it, is not reporting state at all. Combined with roon_uptime tracking system uptime rather than the server’s, this is the status reporting being wrong rather than anything wrong with your server. Your database is loaded, your zones work, and you were playing music while writing, so the server is fine. @Suedkiez is right that you can set this aside.

On the update. The SIGTERM you saw is not a fault in itself. Once the updater has untarred into .update.tmp, the supervisor has to stop the running server in order to swap the new files into place, so a SIGTERM at that moment is how an update is supposed to proceed. What went wrong is that the swap never completed and you came back up on 1680.

What to do, and please do not press Update again. Use the reinstall path instead, which lays down RoonOS and Roon Server fresh rather than swapping files under a running server:

  1. In Roon, please take a fresh backup first. Settings → Backups → Backup Now, to a location that is not on the ROCK itself.
  2. Open the ROCK web administration page.
  3. In the Operating System section, click Reinstall.
  4. Let it finish and come back up on its own, then check the version.

This does not touch your Roon database, your library, your settings or your zones. The backup is belt and braces rather than a real expectation.

If the reinstall reports a failure, please tell us the exact status text and exit code rather than repeating it, and we will take it from there.

On the logs: no need to upload anything. We collect diagnostics from our side, and we will pull a set covering the 15th. If we find we need your rotated files for the three restart cycles specifically, we will ask, since those cover more than a standard collection does.

Once you are on 1683, please tell us what the admin page and /getstate report. That closes out your second question properly rather than by assumption.

Hi Vadim,

The reinstall did it. Fresh backup first, then Operating System → Reinstall from the web admin page, and it came back up on its own. No failure, so there is no status text or exit code to report from that step.

Both questions close cleanly.

Version. RoonOS 2.1 (build 271) production, Roon Server 2.71 (build 1683) production. The 1680 to 1683 swap that kept failing under the running server went through on the reinstall path.

The status flag, and the uptime with it. /getstate now reports roon_running: true, roon_version: 2.71 (build 1683) production, uptime: 1033, roon_uptime: 1029. So the flag reads true while the server is actually running, and roon_uptime is now tracking the server rather than system uptime, the two differing by the few seconds between the box booting and the server coming up. The admin page agrees and shows the running state and version correctly. Both of the things I reported are gone.

Nothing further needed from my side, and no diagnostics to send. Thank you for the diagnosis, and in particular for telling me not to press Update again, which is the part I would have got wrong on my own.

Paulo