Linux Roon Core Not Working on Proxmox KVM VM

Core Machine (Operating system/System info/Roon build number)
Proxmox KVM virtual machine.

Network Details (Including networking gear model/manufacturer and if on WiFi/Ethernet)
Networking kit is Ubiquiti.

Audio Devices (Specify what device you’re using and its connection type - USB/HDMI/etc.)

Description Of Issue
I’ve tried multiple operating systems but I continue to get the same issue.

Feb 12 20:37:31 localhost.localdomain start.sh[840]: Started
Feb 12 20:37:34 localhost.localdomain start.sh[840]: Not responding
Feb 12 20:37:49 localhost.localdomain start.sh[840]: aac_fixed decoder found, checking libavcodec version...
Feb 12 20:37:49 localhost.localdomain start.sh[840]: Error

However, it gives me no details on why it is returning with an error.

The logs are as follows:

02/12 20:32:18 Info: Starting RoonServer v1.7 (build 511) stable on linuxx64
02/12 20:32:18 Trace: Checking if we are already running
02/12 20:32:18 Warn: get lock file path: /tmp/.rnsems0-roon
02/12 20:32:18 Trace: Nope, we are the only one running
02/12 20:32:18 Info: Is 64 bit? True
02/12 20:32:19 Info: Command Line Argument: -watchdogport=37095
02/12 20:32:19 Trace: [childprocess] using unix child process
02/12 20:32:19 Trace: [realtime] fetching time from NTP server
02/12 20:32:20 Info: [stats] 413mb Virtual, 29mb Physical, 16mb Managed, 0 Handles, 7 Threads
02/12 20:32:22 Info: [broker] starting b60d4862-6f1e-48b6-9ccb-0aae78a48340
02/12 20:32:22 Trace: [httpcache] loaded 0 cache entries from /var/roon/RoonServer/Cache/httpcache_2.db, current: 0mb / 128mb
02/12 20:32:23 Debug: [broker/filebrowser/nassharemaker] rebuildsymlinks
02/12 20:32:23 Debug: [broker/filebrowser/volumeattached] initial listing found drive mounted at /
02/12 20:32:24 Debug: [broker/filebrowser/volumeattached] initial listing found drive mounted at /boot
02/12 20:32:24 Info: [broker/locations] adding storage location: Internet:Name=Internet Media:Id=e268f098-04c4-4e65-af3f-38ba3c3fcecb
02/12 20:32:25 Info: [broker/locations] media availability: Internet:Name=Internet Media:Id=e268f098-04c4-4e65-af3f-38ba3c3fcecb is online
02/12 20:32:25 Info: [broker/locations] adding storage location: MetadataService:Name=Metadata Service:Id=13769258-b70b-4243-b1d6-bd46e8257ba8
02/12 20:32:25 Info: [broker/locations] media availability: MetadataService:Name=Metadata Service:Id=13769258-b70b-4243-b1d6-bd46e8257ba8 is online
02/12 20:32:25 Info: [broker/locations] adding storage location: Offline:Name=Offline:Id=f1e4b43f-f643-47ba-b875-fd93b32a6006
02/12 20:32:25 Debug: [broker/locations/migration] start, propname: location_automounts
02/12 20:32:25 Debug: [broker/locations] load pre 1.3 automounts, strlist: 
02/12 20:32:25 Warn: [linuxmount/pinfo] coudnt ascertain disk block device from sysfs
02/12 20:32:25 Debug: [broker/locations] write pre 1.3 automounts, strlist: 
02/12 20:32:26 Info: [media] resolved oop decoder to /usr/bin/ffmpeg
02/12 20:32:26 Warn: [realtime] failed to get time: Operation on non-blocking socket would block

Nothing useful on what is wrong.

If someone can please help I would highly appreciate it.

Why are you using the manual installation method? It would be better to follow the easy install instructions.

Manual installations are a bit more involved, and it is not difficult to end up with a broken or poorly functioning install. We will try to support these as best as possible, but we recommend that people who are not already experienced Linux users go with the easy install.

However, please post output from check.sh.

Hi Martin,

Thanks for your response.

I haven’t, I used the automated installer.

check.sh dump

[root@localhost RoonServer]# ./check.sh 

Checking to see if RoonServer can run on this machine 

    Checking for Binary Compatibility                            [   OK   ]
    Checking for ALSA Libraries                                  [   OK   ]
    Checking for ffmpeg or avconv                               which: no avconv in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
 [   OK   ]
    Checking for the mount.cifs command                          [   OK   ]
    Testing ulimit -n 8192                                       [   OK   ]

STATUS: SUCCESS

If so, you don’t need to use these scripts. Simply run sudo systemctl run roonserver to start; options are start, stop, status and restart. Please post output from this.

Finally, are you using ffmpeg or avconv?

I’ve not manually starting the script I was only posting what I found in journactl and the logs directory.

I’m using ffmpeg

Okay, what’s the output from sudo systemctl status roonserver? And what device are you using for control?

[root@localhost ~]# systemctl status roonserver
● roonserver.service - RoonServer
   Loaded: loaded (/etc/systemd/system/roonserver.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-02-12 22:37:59 GMT; 1min 49s ago
 Main PID: 838 (start.sh)
    Tasks: 25 (limit: 2331)
   Memory: 86.6M
      CPU: 1min 52.047s
   CGroup: /system.slice/roonserver.service
           ├─ 838 /bin/bash /opt/RoonServer/start.sh
           ├─ 848 /opt/RoonServer/RoonMono/bin/RoonServer --debug --gc=sgen --server RoonServer.exe
           ├─1077 /opt/RoonServer/RoonMono/bin/RoonAppliance --debug --gc=sgen --server RoonApplian>
           └─1078 /opt/RoonServer/Server/processreaper 1077

Feb 12 22:38:59 localhost.localdomain start.sh[838]: Not responding
Feb 12 22:39:14 localhost.localdomain start.sh[838]: aac_fixed decoder found, checking libavcodec v>
Feb 12 22:39:14 localhost.localdomain start.sh[838]: Error
Feb 12 22:39:16 localhost.localdomain start.sh[838]: Initializing
Feb 12 22:39:16 localhost.localdomain start.sh[838]: Started
Feb 12 22:39:19 localhost.localdomain start.sh[838]: Not responding
Feb 12 22:39:34 localhost.localdomain start.sh[838]: Error
Feb 12 22:39:36 localhost.localdomain start.sh[838]: Initializing
Feb 12 22:39:37 localhost.localdomain start.sh[838]: Started
Feb 12 22:39:39 localhost.localdomain start.sh[838]: Not responding

Have you restored an earlier Roon database to this instance? If, so what happens with a clean database?

It’s a brand new installation, my first time trialing roon.

I’ve tried re-installing and clearing the DB but still appears to be stuck in this endless error loop.

HI @Andrew_Zak,

Are you by any chance using Plex/Emby on this Core?

1 Like

Hi Noris,

Thank you for your reply.

I do not have Plex nor Emby on the same virtual machine, however, I do have Plex running on another virtual machine sharing the same bridged network adapter. Would that be causing the issue?

Cheers

Plex seems to grab hold of some things roon needs. Maybe stop Plex and see.

1 Like

Hello @Andrew_Zak,

Yes, I would try turning off Plex as a test. It has caused issues with Roon in the past since both Plex and Roon want to use port 1900. We have an active ticket regarding this behavior and we’re investigating.

Hi Noris,

Port sharing shouldn’t be an issue as they are both running on separate virtual machines and IP addresses. However, I will shut one down and get back to you.

1 Like

Hi Noris,

It appears that I’m still having the same problem even with the Plex virtual machine turned off.

Any idea on how to proceed?

Hello @Andrew_Zak,

Sometimes VMs are trickier to get working right with Roon and while it may work, it is not something we can properly troubleshoot (due to the various VM options). If you install Roon on a non-VM environment (Windows/MacOS/Linux), does that work properly?

I could install roon onto my linux laptop, however, inconvenient as I would need to leave it on all the time. Is there no way to better understand the error roon is outputting? “error” doesn’t say much.

I’m sympathetic to Roon Labs’ unwillingness to assist with VM based installs. It’s a tough spot for them. That said, I’ve been running Roon inside a VM for a while now with no difficulties.

Have you looked a the logs generated in /var/roon/RoonServer/Logs? RoonServer is super-super-chatty and I am optimistic you’ll get a better idea of what’s failing from the debug logs there.

nevermind, I see you pasted that in your original post. I should read more clearly. The signal path from the forum to my brain is clearly not Lossless. :slight_smile:

Haha no worries, yea not much there that I can see pointing to the issue I’m having.

What hypervisor are you using for your VMs?

Perhaps this is helpful, I just looked at the startup logs from my system here and some of the warnings in your logs are verbatim to what I see on my working server.

I’m running in an ubuntu-server (19.10) VM on ESXi 6.7.

Perhaps this is useful for comparison, or at least to rule out what messages are “normal” and which are not. I left in the lines where it’s attaching to an SMB share on my NAS. Setup of those mounts is done within Roon, not at the OS level.

02/05 01:55:13 Info: Starting RoonServer v1.7 (build 511) stable on linuxx64
02/05 01:55:13 Trace: Checking if we are already running
02/05 01:55:13 Warn: get lock file path: /tmp/.rnsems0-roon
02/05 01:55:13 Trace: Nope, we are the only one running
02/05 01:55:13 Info: Is 64 bit? True
02/05 01:55:13 Info: Command Line Argument: -watchdogport=40553
02/05 01:55:13 Trace: [childprocess] using .NET child process
02/05 01:55:13 Trace: [realtime] fetching time from NTP server
02/05 01:55:13 Info: [broker] starting {UUID redacted}
02/05 01:55:13 Trace: [httpcache] loaded 2951 cache entries from /var/roon/RoonServer/Cache/httpcache_2.db, current: 127mb / 128mb
02/05 01:55:14 Debug: [broker/filebrowser/volumeattached] initial listing found drive mounted at /
02/05 01:55:14 Debug: [broker/filebrowser/nassharemaker] rebuildsymlinks
02/05 01:55:14 Debug: [broker/filebrowser/volumeattached] initial listing found drive mounted at /snap/core/8268
02/05 01:55:14 Debug: [broker/filebrowser/volumeattached] skipping /snap/core/8268 because it is not a /dev/sd[0-9]* (mountline: /dev/loop1 /snap/core/8268 squashfs ro,nodev,relatime 0 0)
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] getting volumeshare (\\nas.nuggethaus.net\iTunes) from json due to adding volumeshare from previously mounted shares stored in registry
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] new volumeshare created from json for \\nas.nuggethaus.net\iTunes
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] json volumeshare cifsmount does not exist (\\nas.nuggethaus.net\iTunes), but we will not mount it now because we lazy mount shares based on need
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] getting volumeshare (\\nas.nuggethaus.net\RoonBackup) from json due to adding volumeshare from previously mounted shares stored in registry
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] new volumeshare created from json for \\nas.nuggethaus.net\RoonBackup
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] json volumeshare cifsmount does not exist (\\nas.nuggethaus.net\RoonBackup), but we will not mount it now because we lazy mount shares based on need
02/05 01:55:14 Info: [broker/locations] adding storage location: Internet:Name=Internet Media:Id=e268f098-04c4-4e65-af3f-38ba3c3fcecb
02/05 01:55:14 Info: [broker/locations] media availability: Internet:Name=Internet Media:Id=e268f098-04c4-4e65-af3f-38ba3c3fcecb is online
02/05 01:55:14 Info: [broker/locations] adding storage location: MetadataService:Name=Metadata Service:Id=13769258-b70b-4243-b1d6-bd46e8257ba8
02/05 01:55:14 Info: [broker/locations] media availability: MetadataService:Name=Metadata Service:Id=13769258-b70b-4243-b1d6-bd46e8257ba8 is online
02/05 01:55:14 Info: [broker/locations] adding storage location: Offline:Name=Offline:Id=f1e4b43f-f643-47ba-b875-fd93b32a6006
02/05 01:55:14 Debug: [broker/locations/migration] start, propname: loc_{hex string redacted}
02/05 01:55:14 Debug: [broker/locations] Migrating UUID based storage location, id: loc_{hex string redacted}, version: 2
02/05 01:55:14 Debug: [broker/locations/migration] start, propname: location_automounts
02/05 01:55:14 Debug: [broker/locations] load pre 1.3 automounts, strlist:
02/05 01:55:14 Warn: [linuxmount/pinfo] coudn't ascertain disk block device from sysfs
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] getting volumeshare (\\nas.nuggethaus.net\iTunes) from json due to getting entry from json
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] json volumeshare cifsmount does not exist (\\nas.nuggethaus.net\iTunes), but we will not mount it now because we lazy mount shares based on need
02/05 01:55:14 Trace: [realtime] Got time from NTP: 2/5/2020 1:55:14 AM (3789856514154ms)
02/05 01:55:14 Info: [broker/locations/directorystoragelocation] initializing FileBrowser.Entry: \\nas.nuggethaus.net, iTunes : \, drive availability is: False
02/05 01:55:14 Trace: [realtime] Updated clock skew to -00:00:00.0251780 (-25.178ms)
02/05 01:55:14 Info: [broker/locations/directorystoragelocation] drive is not available so disposing resources (if they exist): FileBrowser.Entry: \\nas.nuggethaus.net, iTunes : \
02/05 01:55:14 Info: [broker/locations] storage location backend (CIFSShare:Name=:Location=FileBrowser.Entry: \\nas.nuggethaus.net, iTunes : \:Id={hex string redacted}) offline reason changed to: DriveNotReady
02/05 01:55:14 Info: [broker/locations/directorystoragelocation] we'd like to keep this volume mounted: \\nas.nuggethaus.net\iTunes
02/05 01:55:14 Info: [broker/locations] created enabled location, FileBrowser.Entry: \\nas.nuggethaus.net, iTunes : \
02/05 01:55:14 Info: [broker/locations] adding storage location: CIFSShare:Name=:Location=FileBrowser.Entry: \\nas.nuggethaus.net, iTunes : \:Id={hex string redacted}
02/05 01:55:14 Debug: [roon/cifs] tryremount, path: \\nas.nuggethaus.net\iTunes, username: roon, password 25 chars
02/05 01:55:14 Debug: [roon/cifs] mounting \\nas.nuggethaus.net\iTunes
02/05 01:55:14 Debug: [roon/cifs] alreadymounted? //nas.nuggethaus.net/iTunes => true @ /mnt/RoonStorage_{hex string redacted}
02/05 01:55:14 Trace: [roon/cifs] Connected
02/05 01:55:14 Debug: [broker/locations] write pre 1.3 automounts, strlist:
02/05 01:55:14 Info: [media] resolved oop decoder to /usr/bin/ffmpeg
02/05 01:55:14 Trace: [brokerserver] Enabling broker server
02/05 01:55:14 Info: [broker/distributed] HTTP server listening on port 9100
02/05 01:55:14 Trace: [broker/backups] initializing
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] getting volumeshare (\\nas.nuggethaus.net\RoonBackup) from json due to getting entry from json
02/05 01:55:14 Debug: [broker/filebrowser/volumeshare] json volumeshare cifsmount does not exist (\\nas.nuggethaus.net\RoonBackup), but we will not mount it now because we lazy mount shares based on need
02/05 01:55:14 Info: [broker] is licensed for userid {UUID redacted}
02/05 01:55:14 Info: [stats] 1097mb Virtual, 72mb Physical, 16mb Managed, 0 Handles, 20 Threads
02/05 01:55:15 Info: [clientdata] initializing with /var/roon/RoonServer/Database/Core/{hex string redacted}/clientdata.db
. . .