SIGSEGV in Roon Server

Hi there,

about once a day my Roon Server on Linux crashes with the following log messages:

00:00:00.002 Warn:  get lock file path: /tmp/.rnsgem0-
00:00:00.085 Trace: [childprocess] using unix child process
Initializing
Started
aac_fixed decoder found, checking libavcodec version...
has mp3float: 1, aac_fixed: 1
Running
System.Net.Sockets.SocketException (0x80004005): Connection reset by peer
  at System.Net.Sockets.Socket.EndReceive (System.IAsyncResult asyncResult) [0x00012] in <a42f1dd5b44448eb83533f7faf608d38>:0
  at Sooloos.RnetJsonClient+<>c__DisplayClass65_0.<_BeginRead>b__0 (System.IAsyncResult ar) [0x00046] in <88f4827addc444c2b98f7f2b80c32f3b>:0
System.Net.Sockets.SocketException (0x80004005): Connection reset by peer
  at System.Net.Sockets.Socket.EndReceive (System.IAsyncResult asyncResult) [0x00012] in <a42f1dd5b44448eb83533f7faf608d38>:0
  at Sooloos.RnetJsonClient+<>c__DisplayClass65_0.<_BeginRead>b__0 (System.IAsyncResult ar) [0x00046] in <88f4827addc444c2b98f7f2b80c32f3b>:0
System.Net.Sockets.SocketException (0x80004005): Connection reset by peer
  at System.Net.Sockets.Socket.EndReceive (System.IAsyncResult asyncResult) [0x00012] in <a42f1dd5b44448eb83533f7faf608d38>:0
  at Sooloos.RnetJsonClient+<>c__DisplayClass65_0.<_BeginRead>b__0 (System.IAsyncResult ar) [0x00046] in <88f4827addc444c2b98f7f2b80c32f3b>:0

=================================================================
        Native Crash Reporting

=================================================================
=================================================================
        Native Crash Reporting
Got a SIGSEGV while executing native code. This usually indicates
=================================================================
a fatal error in the mono runtime or one of the native libraries
Got a SIGSEGV while executing native code. This usually indicates
used by your application.
a fatal error in the mono runtime or one of the native libraries
=================================================================
used by your application.
=================================================================

=================================================================

=================================================================
        Native stacktrace:
        Native stacktrace:
=================================================================
=================================================================
        0x5098ec - /app/roon/RoonMono/bin/RoonAppliance :
        0x509d17 - /app/roon/RoonMono/bin/RoonAppliance :
        0x470941 - /app/roon/RoonMono/bin/RoonAppliance :
        0x425704 - /app/roon/RoonMono/bin/RoonAppliance :
        0x4257ba - /app/roon/RoonMono/bin/RoonAppliance :
        0x7f63e1439730 - /lib/x86_64-linux-gnu/libpthread.so.0 :
        0x5098ec - /app/roon/RoonMono/bin/RAATServer :
        0x509d17 - /app/roon/RoonMono/bin/RAATServer :
        0x7f63e12ce48c - /lib/x86_64-linux-gnu/libc.so.6 : __libc_malloc
        0x470941 - /app/roon/RoonMono/bin/RAATServer :
        0x8ec2ab - /app/roon/RoonMono/bin/RoonAppliance : monoeg_malloc
        0x425704 - /app/roon/RoonMono/bin/RAATServer :
        0x4257ba - /app/roon/RoonMono/bin/RAATServer :
        0x8eaacb - /app/roon/RoonMono/bin/RoonAppliance :
        0x7f2a89c7b730 - /lib/x86_64-linux-gnu/libpthread.so.0 :
        0x8eaf01 - /app/roon/RoonMono/bin/RoonAppliance : monoeg_g_utf8_to_utf16
        0x7f2a89b1048c - /lib/x86_64-linux-gnu/libc.so.6 : __libc_malloc
        0x75f396 - /app/roon/RoonMono/bin/RoonAppliance : mono_string_new_checked
        0x8ec2ab - /app/roon/RoonMono/bin/RAATServer : monoeg_malloc
        0x7ae829 - /app/roon/RoonMono/bin/RoonAppliance :
        0x8eaacb - /app/roon/RoonMono/bin/RAATServer :
        0x70dd7a - /app/roon/RoonMono/bin/RoonAppliance :
        0x8eaf01 - /app/roon/RoonMono/bin/RAATServer : monoeg_g_utf8_to_utf16
        0x6faca9 - /app/roon/RoonMono/bin/RoonAppliance :
        0x4179fe72 - Unknown

=================================================================
        Telemetry Dumper:
=================================================================
        0x75f396 - /app/roon/RoonMono/bin/RAATServer : mono_string_new_checked
        0x7ae829 - /app/roon/RoonMono/bin/RAATServer :
        0x70dd7a - /app/roon/RoonMono/bin/RAATServer :
        0x6faca9 - /app/roon/RoonMono/bin/RAATServer :
        0x41d3bf02 - Unknown

=================================================================
        Telemetry Dumper:
=================================================================
Pkilling 0x7f2a85eff700 from 0x7f2a56dfb700
Pkilling 0x7f2a89a89780 from 0x7f2a56dfb700
Pkilling 0x7f2a854c9700 from 0x7f2a56dfb700
Pkilling 0x7f2a848c3700 from 0x7f2a56dfb700
Pkilling 0x7f2a86b91700 from 0x7f2a56dfb700
Pkilling 0x7f2a57fff700 from 0x7f2a56dfb700
Entering thread summarizer pause from 0x7f2a56dfb700
Pkilling 0x7f631e9f5700 from 0x7f63bf288700
Pkilling 0x7f63079ff700 from 0x7f63bf288700
Pkilling 0x7f63003ff700 from 0x7f63bf288700
Pkilling 0x7f6381076700 from 0x7f63bf288700
Pkilling 0x7f63bd9a5700 from 0x7f63bf288700
Pkilling 0x7f63829ff700 from 0x7f63bf288700
Pkilling 0x7f62f3bfe700 from 0x7f63bf288700
Pkilling 0x7f631d7ec700 from 0x7f63bf288700
Pkilling 0x7f63449f9700 from 0x7f63bf288700
Pkilling 0x7f62facf2700 from 0x7f63bf288700
Pkilling 0x7f63063ff700 from 0x7f63bf288700
Pkilling 0x7f62ff1ff700 from 0x7f63bf288700
Pkilling 0x7f62fda73700 from 0x7f63bf288700
Pkilling 0x7f63035ff700 from 0x7f63bf288700
Pkilling 0x7f6306dfe700 from 0x7f63bf288700
Pkilling 0x7f63bdc3b700 from 0x7f63bf288700
Pkilling 0x7f63445f7700 from 0x7f63bf288700
Pkilling 0x7f62f2bf5700 from 0x7f63bf288700
Pkilling 0x7f62fd5fd700 from 0x7f63bf288700
Pkilling 0x7f62fa8f0700 from 0x7f63bf288700
Pkilling 0x7f62eecfe700 from 0x7f63bf288700
Pkilling 0x7f62eceaa700 from 0x7f63bf288700
Pkilling 0x7f631e1f1700 from 0x7f63bf288700
Pkilling 0x7f63453fe700 from 0x7f63bf288700
Pkilling 0x7f62fb6f7700 from 0x7f63bf288700
Pkilling 0x7f62ebefe700 from 0x7f63bf288700
Pkilling 0x7f62ff673700 from 0x7f63bf288700
Pkilling 0x7f631fbff700 from 0x7f63bf288700
Pkilling 0x7f63021ff700 from 0x7f63bf288700
Pkilling 0x7f62fa4ee700 from 0x7f63bf288700
Pkilling 0x7f62fdfff700 from 0x7f63bf288700
Pkilling 0x7f62ee8fc700 from 0x7f63bf288700
Pkilling 0x7f62ecaa8700 from 0x7f63bf288700
Pkilling 0x7f6307037700 from 0x7f63bf288700
Pkilling 0x7f62f8c80700 from 0x7f63bf288700
Pkilling 0x7f630937b700 from 0x7f63bf288700
Pkilling 0x7f62f12ca700 from 0x7f63bf288700
Pkilling 0x7f62fc7b3700 from 0x7f63bf288700
Pkilling 0x7f6305473700 from 0x7f63bf288700
Pkilling 0x7f62fa089700 from 0x7f63bf288700
Pkilling 0x7f631ebf6700 from 0x7f63bf288700
Pkilling 0x7f62f15fe700 from 0x7f63bf288700
Pkilling 0x7f62fc0fc700 from 0x7f63bf288700
Pkilling 0x7f6381277700 from 0x7f63bf288700
Pkilling 0x7f62f3dff700 from 0x7f63bf288700
Pkilling 0x7f62ec6a6700 from 0x7f63bf288700
Pkilling 0x7f6302673700 from 0x7f63bf288700
Pkilling 0x7f631d9ed700 from 0x7f63bf288700
Pkilling 0x7f62f31f8700 from 0x7f63bf288700
Pkilling 0x7f63e1247780 from 0x7f63bf288700
Pkilling 0x7f62fc3b1700 from 0x7f63bf288700
Pkilling 0x7f63bf68b700 from 0x7f63bf288700
Pkilling 0x7f62f1fef700 from 0x7f63bf288700
Pkilling 0x7f63077fe700 from 0x7f63bf288700
Pkilling 0x7f62fbcfa700 from 0x7f63bf288700
Pkilling 0x7f63475b7700 from 0x7f63bf288700
Pkilling 0x7f63dd0ff700 from 0x7f63bf288700
Pkilling 0x7f62ffdff700 from 0x7f63bf288700
Pkilling 0x7f62f39fd700 from 0x7f63bf288700
Pkilling 0x7f62f2df6700 from 0x7f63bf288700
Pkilling 0x7f63de390700 from 0x7f63bf288700
Pkilling 0x7f63029ff700 from 0x7f63bf288700
Pkilling 0x7f63bcc63700 from 0x7f63bf288700
Pkilling 0x7f62fcfff700 from 0x7f63bf288700
Pkilling 0x7f62ed0ab700 from 0x7f63bf288700
Pkilling 0x7f63089ff700 from 0x7f63bf288700
Pkilling 0x7f63bddbd700 from 0x7f63bf288700
Pkilling 0x7f63455ff700 from 0x7f63bf288700
Pkilling 0x7f63bdd7c700 from 0x7f63bf288700
Pkilling 0x7f63013ff700 from 0x7f63bf288700
Pkilling 0x7f63bdd3b700 from 0x7f63bf288700
Pkilling 0x7f63bdcfa700 from 0x7f63bf288700
Pkilling 0x7f62ed8ff700 from 0x7f63bf288700
Pkilling 0x7f63bdcb9700 from 0x7f63bf288700
Pkilling 0x7f62f96ff700 from 0x7f63bf288700
Pkilling 0x7f62faeff700 from 0x7f63bf288700
Pkilling 0x7f62fa6ef700 from 0x7f63bf288700
Pkilling 0x7f63dc4df700 from 0x7f63bf288700
Pkilling 0x7f62eeafd700 from 0x7f63bf288700
Pkilling 0x7f63045ff700 from 0x7f63bf288700
Pkilling 0x7f63451fd700 from 0x7f63bf288700
Pkilling 0x7f62fb4f6700 from 0x7f63bf288700
Pkilling 0x7f62f0aff700 from 0x7f63bf288700
Pkilling 0x7f631edf7700 from 0x7f63bf288700
Pkilling 0x7f6383dff700 from 0x7f63bf288700
Pkilling 0x7f62fddfe700 from 0x7f63bf288700
Pkilling 0x7f62f825b700 from 0x7f63bf288700
Pkilling 0x7f62ee6fb700 from 0x7f63bf288700
Pkilling 0x7f62f02c2700 from 0x7f63bf288700
Pkilling 0x7f631dbee700 from 0x7f63bf288700
Pkilling 0x7f62fcaff700 from 0x7f63bf288700
Pkilling 0x7f6344dfb700 from 0x7f63bf288700
Pkilling 0x7f62f33f9700 from 0x7f63bf288700
Pkilling 0x7f62f8a7f700 from 0x7f63bf288700
Pkilling 0x7f62f9e88700 from 0x7f63bf288700
Pkilling 0x7f6305272700 from 0x7f63bf288700
Entering thread summarizer pause from 0x7f63bf288700
Finished thread summarizer pause from 0x7f63bf288700.
* Assertion: should not be reached at mini-exceptions.c:452
Error
Initializing
Started
aac_fixed decoder found, checking libavcodec version...
has mp3float: 1, aac_fixed: 1
Running

My setup:

  • Roon Server 1.7
  • Docker base image is Debian 10 Slim
  • Docker runs on Debian 10

If it helps here is my simple Dockerfile:

FROM debian:10-slim

ENV ROON_FILENAME RoonServer_linuxx64.tar.bz2

WORKDIR /app/roon

RUN set -eux; \
    apt-get update; \
    apt-get install -y curl bzip2 libasound2 ffmpeg; \
    curl --progress-bar --location --output "/tmp/${ROON_FILENAME}" "http://download.roonlabs.com/builds/${ROON_FILENAME}"; \
    tar --extract --bzip2 --file "/tmp/${ROON_FILENAME}" --strip-components=1 --directory /app/roon; \
    # Download löschen
    rm -rf /tmp/*

VOLUME [ "/var/roon" ]

ENTRYPOINT /app/roon/start.sh

You might review the following Post

Hi Daniel, thanks very much for the immediate response!

I’m afraid the NetworkManager issue is not really related because my Debian host uses neither uses netplan nor NetworkManager. The other issue seems to affect Ubuntu Desktop.

Hi Michael, if you haven’t done so, just configure your server with a static IP. That may be all you need to do.

It all may be a problem of the DHCP4 client phoning home to its server… I have configured Ubuntu Server with Network Manager and a static IP, and all is well. My recommendation is to configure a Linux host with static IP, until Roon QA acknowledges and diagnoses the problem and comes up with a different solution.

Hum… One of my Ubuntu Server 20.04.1 boxes has a dynamic IP (set by UniFi Dream Machine) but Roon does not fail this way, in fact it stays up until I reboot for other reasons. Maybe the issue is lease duration rather than static vs dynamic?

If you are running docker on Debian why can’t you install Roon natively in Debian, docker adds a layer of unnecessary complexity (=problems)

My lease was set to 24 hrs. I noticed Roon Server crashes every 2-4 days. Since configuring a static IP there have not been any more SIGSEGV events.

Thanks for the input so far!

Maybe it’s important: the ConnectionException sometimes happens without the SIGSEGV. So as far as I can tell there are two issues:

  • a ConnectionException isn’t handled and
  • the Mono runtime may crash

The host IP is set per DHCP but never changes so I don’t believe this could affect the service.

Even if it doesn’t change, the DHCP client will renew the lease. For me and some other users, setting a static IP on our Ubuntu servers seems to have remedied the crashes. Trying and configuring a static IP is simple enough.

Running Roon Server on Arch with a Unifi USG dishing IP’s. None of the issues described here reaching Roon Server.