Radarr fails to start when running on Raspberry PI

Created on 10 Oct 2020  路  5Comments  路  Source: Radarr/Radarr

Describe the bug
Radarr fails to start when running it inside docker on Raspberry PI.
Tried both official docker containers: linuxserver and hotio.

To Reproduce
Steps to reproduce the behavior:

  1. Set up a Raspberry with Docker
  2. Run container according to official guides:
    * https://hub.docker.com/r/linuxserver/radarr
    *
    https://hub.docker.com/r/hotio/radarr
  3. Check that container is running docker ps -a
  4. Try to access radarr URL on standard port: radarr:7878

Expected behavior
Radarr starts without issues

Platform Information (please complete the following information):

  • OS: Raspberry Pi OS (Linux 5.4.51-v7l+ armv7l GNU/Linux)
  • Radarr Version - 3.0.0.3898

Debug Logs
In my case Docker will not output any logs.

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-start-container: executing...

----------------------------------------------------------------------
ENVIRONMENT
----------------------------------------------------------------------
PUID=1001
PGID=1001
UMASK=002
TZ=Europe/Amsterdam
ARGS=
DEBUG=no
----------------------------------------------------------------------

Executing usermod...
Applying permissions to /config
Creating directory /config/app
[cont-init.d] 00-start-container: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

However, linuxserver has a CI report https://lsio-ci.ams3.digitaloceanspaces.com/lspipepr/radarr/3.0.0.3792-pkg-78c91d43-pr-105/index.html
where for arm32v7 it can be seen that Radarr outputs an exception.

Fatal error. System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
   at System.Reflection.Metadata.AssemblyDefinitionHandle.op_Implicit(System.Reflection.Metadata.AssemblyDefinitionHandle)
   at System.Reflection.Metadata.AssemblyDefinition.GetCustomAttributes()
   at System.Diagnostics.FileVersionInfo.LoadManagedAssemblyMetadata(System.Reflection.Metadata.MetadataReader, Boolean)
   at System.Diagnostics.FileVersionInfo.TryLoadManagedAssemblyMetadata()
   at System.Diagnostics.FileVersionInfo.GetVersionInfo(System.String)
   at NLog.Common.InternalLogger.LogAssemblyVersion(System.Reflection.Assembly)
   at NLog.Config.ConfigurationItemFactory.LoadNLogExtensionAssemblies(NLog.Config.ConfigurationItemFactory, System.Reflection.Assembly, System.String[])
   at NLog.Config.ConfigurationItemFactory.BuildDefaultFactory()
   at NLog.Config.ConfigurationItemFactory.get_Default()
   at NLog.Layouts.Layout.op_Implicit(System.String)
   at NLog.Targets.TargetWithLayout..ctor()
   at NzbDrone.Common.Instrumentation.Sentry.SentryTarget..ctor(System.String)
   at NzbDrone.Common.Instrumentation.NzbDroneLogger.RegisterSentry(Boolean)
   at NzbDrone.Common.Instrumentation.NzbDroneLogger.Register(NzbDrone.Common.EnvironmentInfo.IStartupContext, Boolean, Boolean)
   at NzbDrone.Console.ConsoleApp.Main(System.String[])

Since both linuxserver and hotio use the same binaries from: https://radarr.servarr.com/v1/update/nightly/updatefile
I would expect that this is a problem of Radarr compilation for arm32

Most helpful comment

I'm succesfully using docker on a Raspberry Pi.

You can manually update libseccomp2 to the newest version and it will work.

Get the latest version for the raspberry pi from https://packages.debian.org/de/sid/armhf/libseccomp2/download and install it.

wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.4.4-1_armhf.deb
sudo apt-get install ./libseccomp2_2.4.4-1_armhf.deb

do that ^^^or start with --privileged if you dare

(Thanks to @hotio for the fix)

All 5 comments

Duplicate. The issue is that raspbian does not provide new enough libseccomp2 for docker to work. Native Radarr arm32 works fine.

I'm succesfully using docker on a Raspberry Pi.

You can manually update libseccomp2 to the newest version and it will work.

Get the latest version for the raspberry pi from https://packages.debian.org/de/sid/armhf/libseccomp2/download and install it.

wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.4.4-1_armhf.deb
sudo apt-get install ./libseccomp2_2.4.4-1_armhf.deb

do that ^^^or start with --privileged if you dare

(Thanks to @hotio for the fix)

@JBou thanks for the solutions. It works perfectly.

Just a small remark for anybody who may come across this issue:
libseccomp has to be updated on the host machine (Raspberry Pi OS) and not inside the docker container.

Also for the installation command. If you have problems with the installation forcing you to remove the current version before installing the new one. You can use:
sudo dpkg -i <you_version_of_libseccomp2_2.x.x-x_armhf.deb>

@JBou Thanks, Mate! That indeed did the trick for me too!

It should be mentioned that Radarr now has an official wiki entry for this problem:
https://wiki.servarr.com/Radarr_FAQ#I_am_using_a_Pi_and_Raspbian_and_Radarr_will_not_launch

Was this page helpful?
0 / 5 - 0 ratings

Related issues

codaamok picture codaamok  路  3Comments

plexecutor picture plexecutor  路  3Comments

mattman86 picture mattman86  路  3Comments

HitsvilleUK picture HitsvilleUK  路  3Comments

danielb2 picture danielb2  路  3Comments