Roon Server crashes during Analysis

Core Machine (Operating system/System info/Roon build number)

LXC Container with Debian 10.7

Network Details (Including networking gear model/manufacturer and if on WiFi/Ethernet)

Ethernet / PFSense

Audio Devices (Specify what device you’re using and its connection type - USB/HDMI/etc.)
3 * Roon Ready Hifiberry, Ethernet, RCA

Description Of Issue

The Roon Server crashes periodically when analysing added music. This results in it skipping titles midway, sometimes not being available and also stopping playback (even from radio)

Attached is the output of “systemctl status roon”:
an 31 10:07:28 roonserver[483]: Running
Jan 31 10:07:38 roonserver[483]: Not responding
Jan 31 10:07:55 roonserver[483]: Running
Jan 31 10:08:05 roonserver[483]: Not responding
Jan 31 10:08:35 roonserver[483]: Error
Jan 31 10:08:37 roonserver[483]: Initializing
Jan 31 10:08:37 roonserver[483]: Started
Jan 31 10:08:38 roonserver[483]: aac_fixed decoder found, checking libavcodec version…
Jan 31 10:08:39 roonserver[483]: has mp3float: 1, aac_fixed: 1
Jan 31 10:08:40 roonserver[483]: Running

My storage device is a tiered solution of a 90 GB SSD Cache, a 1 TB HDD and a Network Drive containing upwards of 10 TB of music, which is why it is still analysing. The Server does not see a difference between these stoarges due to mergerfs.

As you can see the server reaches about 15% of load before crashing.

Hello @Jan_Kuhnemund, if you disable audio analysis does everything work well? Also could you please use the directions found here and send us over a set of logs using a shared Dropbox link.

After deactivating audio analysis it works without a hitch. It also works a lot faster. However I would really like to have the audio analysed. Also I have a Ryzen 3700x in the System with an allocated 12 vCores and 8 GB of RAM, that should be enough, shouldn’t it?
The shared nextcloud link:

Well, I always suggest, turning Audio Analysis ON running all cores when sleeping or at work, and then turning it OFF and setting when actually using Roon and setting Analysis on Demand to ON.

That seems like a lot of manual work for a software feature which is not in a beta release.

@nuwriy Even after having deactivated Audio Analysis the crashes still keep happening. Is there any other possible fix?

So… As my data is available again after the zfs issue got fixed my roonserver has to import the library again. Audio Analysis is disabled, importing works, albeit veeery slowly. I’ve got about 500.000 tracks and at the current pace (4.500 identified and added after about 4 hours) this process will take about 18 days. This would usually not be a problem although I am very surprised that it should take this long.

However the roonserver instance crashes as soon as I try to play anything (except live radio) while the server is still importing data.

1.) Is there any way to speed up this process and is this normal?
2.) Why does roon crash when playing songs while importing other songs? What can I do about it?

My gut is that it has to do with your virtualized environment in some way. I think I remember adding that amount without audio analysis in way less time, but, I’ll thow together a quick linux server to test. If you have a spare PC lying around, setup Linux/Roonserver on bare metal. Point that RoonServer at the storage and create a baseline for comparison.

One thing that could be affecting the initial ID (without audio analysis), is if your files have a lot of ROONALBUMTAG and ROONTRACKTAG on the files. Do they?

Again, just another user giving suggestions. Speaking of which, @ipeverywhere who uses Roon in a virtual environment, might have some additional ideas.

My virtualized environment is very different. I run ROCK in a VM so I’m not sure if the LXC is contributing to the difference. Additionally, I have all my tracks on a USB HDD which is hardware passed to the VM. This gives ROCK direct access to the drive as local storage. No network layer. No SMB. No virtual drive layers.

My guess is Roon has some kind of cache / memory leak. If it crashes at the same place every time then it could be building some kind of table or index trying to store the entirety of your 10TB of analyzed music. Or it’s crashing on a specific file for some reason.

If possible… I’d break-up your collection into multiple, smaller, shares. That will eliminate or narrow the issue to a subset of your music. Roon does not care where the music comes from and you can add as many shares as you want. Just be careful not to overlap the same file or you could create duplicates. I’d start with 2TB chunks if you want to be super conservative. Roon should have no issue indexing 2TB of music.

@Rugby I don’t think that they have these tags. At least I never put any there and when looking at the files with MediaInfo I do not see anything out of the ordinary.
Sadly I don’t have another spare PC laying around (Present Continous of “Lay” in english is very weird). I do have a laptop with a first generation i7 dual core but as it crashes running gimp I don’t think ti would get me anywhere…
@ipeverywhere Do you use proxmox as hypervisor? If so did you pass the ROCK image to the VM as an iso or did you pass through a usb installer?
Breaking up the collection into multiple smaller shares is sadly not possible. At least I don’t see how to. However adding music to the library does not break off at a specific file, only when I try to play music while it is adding music.
To me it seems that the function or class which adds music to the library does so sequentially without parallelization. It only adds the title after having read the complete file. Due to the latency which I have as my music is a network away this progress takes longer. I believe this could be alleviated by doing the ingress in parallel, adding the songs to a queue in cache and analyzing the songs in this cache. Not something that helps me of course.

Currently I’m trying to setup ROCK as a VM (and failing). I’ll try to see if that gets me anywhere. WHile doing that I’ll download the music folder to my current system and see if this temporary measure accelerates the ingress process.

Well, you would know, they are not put there by Roon but by users. So if you never added them, they wouldn’t be there. I’m weird, I think I have 4 or 5 i7 pcs or higher lying around my work area to use as test systems.

Roon is mostly single core usage, which is why a higher core speed CPU is better for Roon than a lot of little cores. I think the ID process is, not sure. However, the audio analysis process is not which is why you can select # of cores to use. That would explain why the system is functioning the way it is.

I do. I either used a USB or, probably, converted the image to ISO (although I’m not finding the ISO on my server and I usually leave them in place) and booted that way. It did require passing a real keyboard to the VM to get it installed.

I thought you said Promox was slow as a …

It is because I didn’t plan very well. I’m sure Proxmox is fine if you throw appropriate hardware at it and don’t half-ass the ZFS architecture. :open_mouth:

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.