Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Jellyfin does not run on DS414 #28

Open
rfrmarco opened this issue May 19, 2021 · 9 comments
Open

Jellyfin does not run on DS414 #28

rfrmarco opened this issue May 19, 2021 · 9 comments

Comments

@rfrmarco
Copy link

Setup

Package Name: jellyfin
Package Version: 10.7.2-1 for arm7-6.1

NAS Model: DS414
NAS Architecture: ARMADA XP
DSM version: 6.2.4-25556

Expected behavior

After installation of the Jellyfin package the status of the service should be "running". It should be possible to open the Jellyfin dashboard.

Actual behavior

The Jellyfin service starts and is shown as "running" in the package center. But after some seconds the status changes to "stopped". It is not possible to call the dashboard and to start the setup of Jellyfin.
If I start the Jellyfin service manually in the package center, it has the same effect. The service starts and goes to status "running" but after a short time the status changes to "stopped".
A reboot of the NAS has no effect.

Steps to reproduce

1. Install package
2. The service remains in status "stopped". Restart the service manually in the package center.

Package log

/usr/local/jellyfin/var/jellyfin.log

Wed May 19 19:58:43 CEST 2021
Starting jellyfin command env LD_LIBRARY_PATH=/volume1/@appstore/jellyfin/lib /volume1/@appstore/jellyfin/share/jellyfin --service  --package-name synology  -d /volume1/@appstore/jellyfin/var/data  -C /volume1/@appstore/jellyfin/var/cache  -c /volume1/@appstore/jellyfin/var/config  -l /volume1/@appstore/jellyfin/var/log  -w /volume1/@appstore/jellyfin/web  --ffmpeg /var/packages/ffmpeg/target/bin/ffmpeg
[19:58:51] [INF] [1] Main: Jellyfin version: 10.7.2
[19:58:52] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, /volume1/@appstore/jellyfin/var/log]", "[DOTNET_BUNDLE_EXTRACT_BASE_DIR, /var/packages/jellyfin/target/var//dotnet_bundle_extract]"]
[19:58:52] [INF] [1] Main: Arguments: ["/volume1/@appstore/jellyfin/share/jellyfin.dll", "--service", "--package-name", "synology", "-d", "/volume1/@appstore/jellyfin/var/data", "-C", "/volume1/@appstore/jellyfin/var/cache", "-c", "/volume1/@appstore/jellyfin/var/config", "-l", "/volume1/@appstore/jellyfin/var/log", "-w", "/volume1/@appstore/jellyfin/web", "--ffmpeg", "/var/packages/ffmpeg/target/bin/ffmpeg"]
[19:58:52] [INF] [1] Main: Operating system: Linux
[19:58:52] [INF] [1] Main: Architecture: Arm
[19:58:52] [INF] [1] Main: 64-Bit Process: False
[19:58:52] [INF] [1] Main: User Interactive: True
[19:58:52] [INF] [1] Main: Processor count: 2
[19:58:52] [INF] [1] Main: Program data path: /volume1/@appstore/jellyfin/var/data
[19:58:52] [INF] [1] Main: Web resources path: /volume1/@appstore/jellyfin/web
[19:58:52] [INF] [1] Main: Application directory: /volume1/@appstore/jellyfin/share/
[19:58:56] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /volume1/@appstore/jellyfin/var/cache
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : []
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: []
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: []
[19:58:57] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies

Other logs

/var/log/synopkg.log

2021/05/19 19:58:42 start jellyfin: begin to start version 10.7.2-1
2021/05/19 19:58:43 start jellyfin 10.7.2-1 Begin pre-load apparmor
2021/05/19 19:58:43 start jellyfin 10.7.2-1 End pre-load apparmor ret=[0]
2021/05/19 19:58:43 start jellyfin 10.7.2-1 Begin start-stop-status start
2021/05/19 19:58:43 start jellyfin 10.7.2-1 End start-stop-status start ret=[0]
2021/05/19 19:58:45 start jellyfin: start version 10.7.2-1 successfully, result 0

/var/log/messages

2021-05-19T19:58:59+02:00 SYNO coredump: Process jellyfin[20858] dumped core on signal [4].

/var/log/packages/jellyfin.log

2021/05/19 19:58:43 start jellyfin 10.7.2-1 Begin start-stop-status start
2021/05/19 19:58:43 start jellyfin 10.7.2-1 End start-stop-status start ret=[0]

/var/packages/jellyfin/target/var/jellyfin.log

Wed May 19 19:58:43 CEST 2021
Starting jellyfin command env LD_LIBRARY_PATH=/volume1/@appstore/jellyfin/lib /volume1/@appstore/jellyfin/share/jellyfin --service  --package-name synology  -d /volume1/@appstore/jellyfin/var/data  -C /volume1/@appstore/jellyfin/var/cache  -c /volume1/@appstore/jellyfin/var/config  -l /volume1/@appstore/jellyfin/var/log  -w /volume1/@appstore/jellyfin/web  --ffmpeg /var/packages/ffmpeg/target/bin/ffmpeg
[19:58:51] [INF] [1] Main: Jellyfin version: 10.7.2
[19:58:52] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, /volume1/@appstore/jellyfin/var/log]", "[DOTNET_BUNDLE_EXTRACT_BASE_DIR, /var/packages/jellyfin/target/var//dotnet_bundle_extract]"]
[19:58:52] [INF] [1] Main: Arguments: ["/volume1/@appstore/jellyfin/share/jellyfin.dll", "--service", "--package-name", "synology", "-d", "/volume1/@appstore/jellyfin/var/data", "-C", "/volume1/@appstore/jellyfin/var/cache", "-c", "/volume1/@appstore/jellyfin/var/config", "-l", "/volume1/@appstore/jellyfin/var/log", "-w", "/volume1/@appstore/jellyfin/web", "--ffmpeg", "/var/packages/ffmpeg/target/bin/ffmpeg"]
[19:58:52] [INF] [1] Main: Operating system: Linux
[19:58:52] [INF] [1] Main: Architecture: Arm
[19:58:52] [INF] [1] Main: 64-Bit Process: False
[19:58:52] [INF] [1] Main: User Interactive: True
[19:58:52] [INF] [1] Main: Processor count: 2
[19:58:52] [INF] [1] Main: Program data path: /volume1/@appstore/jellyfin/var/data
[19:58:52] [INF] [1] Main: Web resources path: /volume1/@appstore/jellyfin/web
[19:58:52] [INF] [1] Main: Application directory: /volume1/@appstore/jellyfin/share/
[19:58:56] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /volume1/@appstore/jellyfin/var/cache
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : []
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: []
[19:58:57] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: []
[19:58:57] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies

Other notes

The only message that sounds like an error to me is in /var/log/messages. I am quite new to the Synology packages. If there are other logs which might help, please let me know.

@publicarray
Copy link
Owner

Did you have plugins installed?

@rfrmarco
Copy link
Author

rfrmarco commented Aug 1, 2021

You mean in Jellyfin? No, I did a new installation of Jellyfin and I had no chance to open it and install plugins by now.

What might be special is my parallel Emby installation. In the beginning I was not able to install Jellyfin because it uses the same port like Emby. So I did the manual edit of the spk that was mentioned here: #18 (comment). Additionally I stopped the Emby package to avoid any interference with Jellyfin.

@publicarray
Copy link
Owner

publicarray commented Aug 1, 2021

Thanks for the additional info. The fact that Jellyfin is logging the environment is good, but a dumped core on signal [4] usually indicates a hard crash due to an illegal processor instruction.

What is the output of: $ cat /proc/cpuinfo? It might be that the CPU (or a lib) is not modern enough for .NET Core 5.0 (although strange if Emby is working). Having both installed could also course a conflict somehow. Hm maybe we can get more help at jellyfin discord
https://jellyfin.org/contact/

I don't suppose the newer version 10.7.6 changes anything?

@rfrmarco
Copy link
Author

rfrmarco commented Aug 1, 2021

The output of $ cat /proc/cpuinfo:

Processor	: Marvell PJ4Bv7 Processor rev 2 (v7l)
processor	: 0
BogoMIPS	: 1332.01

processor	: 1
BogoMIPS	: 1332.01

Features	: swp half thumb fastmult vfp edsp vfpv3 tls 
CPU implementer	: 0x56
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0x584
CPU revision	: 2

Hardware	: Marvell Armada XP Development Board
Revision	: 0000
Serial		: 0000000000000000

I can confirm that my Emby installation works without problems. Sometimes it is slow because the NAS is an older model but it is sufficient for my use cases.

I updated Jellyfin to 10.7.6-3 but the issue still persists.

@publicarray
Copy link
Owner

publicarray commented Aug 2, 2021

@rfrmarco can you find the dump file or create one?

If you need the dotnet cli. I can provide you with a .NET SDK package that just uses the official dotnet-install.sh script https://github.com/publicarray/spksrc/releases/tag/dotnet

@rfrmarco
Copy link
Author

rfrmarco commented Aug 2, 2021

I have installed the .NET SDK and it is in status "Running". If I understand this correctly, then I need to install the dotnet-dump tool afterwards. But if I execute dotnet tool install --global dotnet-dump I get the following error:

dotnet: /lib/libstdc++.so.6: no version information available (required by dotnet)
dotnet: /lib/libstdc++.so.6: no version information available (required by dotnet)
dotnet: /lib/libstdc++.so.6: no version information available (required by dotnet)
dotnet: /lib/libstdc++.so.6: no version information available (required by dotnet)
dotnet: /lib/libstdc++.so.6: no version information available (required by dotnet)
dotnet: /lib/libstdc++.so.6: no version information available (required by dotnet)
dotnet: relocation error: dotnet: symbol _ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

Did I get something wrong? I am not used to .NET programming and the tools needed to do it so I hope that is not a too basic question...

@publicarray
Copy link
Owner

publicarray commented Aug 3, 2021

No nothing wrong just the environment is not setup properly and missing the updated libstdc++. I've made a new version which fixes this: https://github.com/publicarray/spksrc/releases/tag/dotnet-fix

dotnet-env just adds environment variables:

env DOTNET_ROOT=/var/packages/dotnet-sdk/target/ LD_LIBRARY_PATH=/var/packages/dotnet-sdk/target/lib dotnet

I tried using dotnet-dump but got Writing dump failed (HRESULT: 0x80004005) every time
so I used createdump to get a dump from a running process. Unfortunately I have no idea how to get one when the process crashes on launch.

root@dsm6 /# ps aux | grep radarr
sc-rada+ 31490  9.0  3.1 3635352 128836 ?      SLl  10:43   0:03 /volume1/@appstore/radarr/share/Radarr/bin/Radarr
root     32150  0.0  0.0  23144  2320 pts/18   S+   10:44   0:00 grep --color=auto radarr
root@dsm6 /# dotnet-env /var/packages/dotnet-sdk/target/shared/Microsoft.NETCore.App/5.0.8/createdump -u 31490
Gathering state for process 31490 Radarr
Writing full dump to file /tmp/coredump.31490
Written 311914496 bytes (76151 pages) to core file
Dump successfully written

@rfrmarco
Copy link
Author

rfrmarco commented Aug 3, 2021

I have installed the new package dotnet-sdk_armv7-6.1_5.0.302-1.spk and executed dotnet-env dotnet --version afterwards. it fails with the subsequent error message:

Unhandled exception. System.BadImageFormatException: Could not load file or assembly 'Microsoft.DotNet.Cli.Utils, Version=5.0.302.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The module was expected to contain an assembly manifest.
File name: 'Microsoft.DotNet.Cli.Utils, Version=5.0.302.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
   at Microsoft.DotNet.Cli.Program.Main(String[] args)
/usr/local/bin/dotnet-env: line 7: 11984 Aborted                 (core dumped) env DOTNET_ROOT=/volume1/@appstore/dotnet-sdk LD_LIBRARY_PATH=/volume1/@appstore/dotnet-sdk/lib $@

Any ideas what's wrong?
I also repeated dotnet tool install --global dotnet-dump but it fails with the same error message like I mentioned in #28 (comment)

@publicarray
Copy link
Owner

Thanks for your patience. Actually this confirms this is a problem with .net and the environment.

Any dotnet commad needs to have dotnet-env before it or the environment variables: DOTNET_ROOT LD_LIBRARY_PATH

@mangod9 how do I know the libstdc from debian is working? On x64 we successfully use this trick to get around the error above. (version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 )

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants