jellyfin / jellyfin-packaging

Jellyfin Packaging and Build Workflows
GNU General Public License v3.0
26 stars 24 forks source link

stopped working after upgrade...dependency problem? #34

Closed miiichael closed 3 months ago

miiichael commented 4 months ago

This issue respects the following points:

Description of the bug

After upgrading server and web from 10.9.7+deb12 to 10.9.8+deb12 from your repo, jellyfin stopped working.

Reproduction steps

Install Debian version (originally 10.8.13-1). Later upgrade it to the current version (from 10.8.13-1 to 10.9.7+deb12 to 10.9.8+deb12). Observe that it no longer starts.

What is the current bug behavior?

○ jellyfin.service - Jellyfin Media Server
     Loaded: loaded (/usr/lib/systemd/system/jellyfin.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/jellyfin.service.d
             └─jellyfin.service.conf
             /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: inactive (dead) since Mon 2024-07-22 14:52:10 AWST; 19min ago
   Duration: 801ms
 Invocation: 800241687e45493f9fe7cf1c4eecc91c
    Process: 1308257 ExecStart=/usr/bin/jellyfin $JELLYFIN_WEB_OPT $JELLYFIN_FFMPEG_OPT $JELLYFIN_SERVICE_OPT $JELLYFIN_NOWEBAPP_OPT $JELLYFIN_ADDITIONAL_OPTS (code=exited, status=0/SUCCESS)
   Main PID: 1308257 (code=exited, status=0/SUCCESS)

I think this means that systemd has noticed the process has exited, but doesn't think the service has failed...

What is the expected correct behavior?

Jellyfin starts, all dependencies specified by the Debian package.

I notice that neither jellyfin-server nor jellyfin-web specify any dependencies (eg. on libfontconfig)

Jellyfin Server version

10.9.7

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

Can't, server doesn't start.

Environment

- OS: Debian bookworm (with a small number of packages from trixie)
- Linux Kernel: 6.1.0-22-amd64
- Virtualization: LXD
- Clients: N/A. Web client I guess.
- Browser: N/A, but I use Chromium at home.
- FFmpeg Version: you don't depend on any version of ffmpeg, and don't seem to vendor it, so...none?
- Playback Method: N/A That's the client's problem, right?
- Hardware Acceleration: none I think. 
- GPU Model: HD Graphics 4600 (i7-4790)
- Plugins: none, I think? Not like I can check...
- Reverse Proxy: nginx, but also not applicable here.
- Base URL: N/A
- Networking: host
- Storage: local

Jellyfin logs

[2024-07-22 14:52:09.708 +08:00] [INF] Jellyffin version: "10.9.8"
[2024-07-22 14:52:09.742 +08:00] [INF] Environment Variables: ["[JELLYFIN_CONFIG_DIR, /etc/jellyfin]", "[JELLYFIN_ADDITIONAL_OPTS, ]", "[JELLYFIN_WEB_OPT, --webdir=/usr/share/jellyfin/web]", "[JELLYFIN_DATA_DIR, /var/lib/jellyfin]", "[JEL
LYFIN_ARGS, $JELLYFIN_WEB_OPT $JELLYFIN_FFMPEG_OPT $JELLYFIN_SERVICE_OPT $JELLYFIN_NOWEBAPP_OPT $JELLFIN_ADDITIONAL_OPTS --datadir $JELLYFIN_DATA_DIR --configdir $JELLYFIN_CONFIG_DIR --logdir $JELLYFIN_LOG_DIR --cachedir $JELLYFIN_CACHE_D
IR]", "[JELLYFIN_FFMPEG_OPT, --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg]", "[JELLYFIN_LOG_DIR, /var/log/jellyfin]", "[JELLYFIN_USER, jellyfin]", "[JELLYFIN_CACHE_DIR, /var/cache/jellyfin]"]
[2024-07-22 14:52:09.743 +08:00] [INF] Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--webdir=/usr/share/jellyfin/web", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[2024-07-22 14:52:09.744 +08:00] [INF] Operating system: "Debian GNU/Linux trixie/sid"
[2024-07-22 14:52:09.744 +08:00] [INF] Architecture: X64
[2024-07-22 14:52:09.744 +08:00] [INF] 64-Bit Process: True
[2024-07-22 14:52:09.744 +08:00] [INF] User Interactive: True
[2024-07-22 14:52:09.744 +08:00] [INF] Processor count: 2
[2024-07-22 14:52:09.744 +08:00] [INF] Program data path: "/var/lib/jellyfin"
[2024-07-22 14:52:09.744 +08:00] [INF] Log directory path: "/var/log/jellyfin"
[2024-07-22 14:52:09.744 +08:00] [INF] Config directory path: "/etc/jellyfin"
[2024-07-22 14:52:09.744 +08:00] [INF] Cache path: "/var/cache/jellyfin"
[2024-07-22 14:52:09.744 +08:00] [INF] Web resources path: "/usr/share/jellyfin/web"
[2024-07-22 14:52:09.745 +08:00] [INF] Application directory: "/usr/lib/jellyfin/bin/"
[2024-07-22 14:52:09.907 +08:00] [INF] Setting cache path: "/var/cache/jellyfin"
[2024-07-22 14:52:09.964 +08:00] [INF] Loading assemblies
[2024-07-22 14:52:10.073 +08:00] [INF] Defined LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
[2024-07-22 14:52:10.074 +08:00] [INF] Defined LAN exclusions: []
[2024-07-22 14:52:10.074 +08:00] [INF] Used LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
[2024-07-22 14:52:10.075 +08:00] [INF] Filtered interface addresses: ["127.0.0.1", "192.168.1.180"]
[2024-07-22 14:52:10.075 +08:00] [INF] Bind Addresses ["0.0.0.0"]
[2024-07-22 14:52:10.075 +08:00] [INF] Remote IP filter is "Allowlist"
[2024-07-22 14:52:10.075 +08:00] [INF] Filtered subnets: []
[2024-07-22 14:52:10.098 +08:00] [FTL] Error while starting server
System.TypeInitializationException: The type initializer for 'Jellyfin.Drawing.Skia.SkiaEncoder' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBU
G environment variable: 
libfontconfig.so.1: cannot open shared object file: No such file or directory
libSkiaSharp.so: cannot open shared object file: No such file or directory
/usr/lib/jellyfin/bin/liblibSkiaSharp.so: cannot open shared object file: No such file or directory
/usr/lib/jellyfin/bin/libSkiaSharp: cannot open shared object file: No such file or directory
/usr/lib/jellyfin/bin/liblibSkiaSharp: cannot open shared object file: No such file or directory

   at SkiaSharp.SkiaApi.sk_imagefilter_new_matrix_convolution(SKSizeI* kernelSize, Single* kernel, Single gain, Single bias, SKPointI* kernelOffset, SKShaderTileMode tileMode, Boolean convolveAlpha, IntPtr input, IntPtr cropRect)
   at SkiaSharp.SKImageFilter.CreateMatrixConvolution(SKSizeI kernelSize, ReadOnlySpan`1 kernel, Single gain, Single bias, SKPointI kernelOffset, SKShaderTileMode tileMode, Boolean convolveAlpha, SKImageFilter input, CropRect cropRect)
   at SkiaSharp.SKImageFilter.CreateMatrixConvolution(SKSizeI kernelSize, ReadOnlySpan`1 kernel, Single gain, Single bias, SKPointI kernelOffset, SKShaderTileMode tileMode, Boolean convolveAlpha)
   at Jellyfin.Drawing.Skia.SkiaEncoder..cctor()
   --- End of inner exception stack trace ---
   at Jellyfin.Drawing.Skia.SkiaEncoder.IsNativeLibAvailable()
   at Jellyfin.Server.CoreAppHost.RegisterServices(IServiceCollection serviceCollection)
   at Emby.Server.Implementations.ApplicationHost.Init(IServiceCollection serviceCollection)
   at Jellyfin.Server.Program.<>c__DisplayClass8_0.<StartServer>b__0(IServiceCollection services)
   at Microsoft.Extensions.Hosting.HostBuilder.InitializeServiceProvider()
   at Microsoft.Extensions.Hosting.HostBuilder.Build()
   at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
[2024-07-22 14:52:10.103 +08:00] [INF] Disposing "CoreAppHost"
[2024-07-22 14:52:10.103 +08:00] [INF] Disposing "PluginManager"

FFmpeg logs

N/A

Client / Browser logs

N/A

Relevant screenshots or videos

No response

Additional information

apt-cache show jellyfin-server jellyfin-web|grep Depends: reports no uninstalled dependencies. Because there are none.

You haven't yet told the github issue templates that you're now up to version 10.9.8.

joshuaboniface commented 3 months ago

I wasn't aware that libfontconfig1 was a dependency, but if it is, we should add it.

@jellyfin/server what requires this?

EraYaN commented 3 months ago

Skia probably requires it to load and render fonts?