Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

OpenSubtitles Crashes the latest Docker Jellyfin #19

Open
jaydenthorup opened this issue Nov 21, 2019 · 5 comments
Open

OpenSubtitles Crashes the latest Docker Jellyfin #19

jaydenthorup opened this issue Nov 21, 2019 · 5 comments
Labels
bug This PR or Issue describes or fixes something that isn't working

Comments

@jaydenthorup
Copy link

jaydenthorup commented Nov 21, 2019

[04:27:23] [INF] Loading assemblies,
[04:27:23] [INF] Loaded assembly Jellyfin.Plugin.PlaybackReporting, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Playback Reporting/Jellyfin.Plugin.PlaybackReporting.dll,
[04:27:23] [INF] Loaded assembly Jellyfin.Plugin.OpenSubtitles, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Open Subtitles/Jellyfin.Plugin.OpenSubtitles.dll,
[04:27:23] [INF] Disposing CoreAppHost,
[04:27:23] [FTL] Unhandled Exception,
System.IO.FileNotFoundException: Could not load file or assembly 'MediaBrowser.Controller, Version=10.4.1.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.,
,
File name: 'MediaBrowser.Controller, Version=10.4.1.0, Culture=neutral, PublicKeyToken=null',
   at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes),
   at System.Reflection.RuntimeAssembly.GetExportedTypes(),
   at Emby.Server.Implementations.ApplicationHost.GetTypes(IEnumerable`1 assemblies)+MoveNext(),
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items),
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source),
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source),
   at Emby.Server.Implementations.ApplicationHost.DiscoverTypes(),
   at Emby.Server.Implementations.ApplicationHost.InitAsync(IServiceCollection serviceCollection),
   at Jellyfin.Server.Program.StartApp(StartupOptions options),
,
   at Jellyfin.Server.Program.Main(String[] args),
   at Jellyfin.Server.Program.<Main>(String[] args),
,
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'MediaBrowser.Controller, Version=10.4.1.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.,
,
   at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes),
   at System.Reflection.RuntimeAssembly.GetExportedTypes(),
   at Emby.Server.Implementations.ApplicationHost.GetTypes(IEnumerable`1 assemblies)+MoveNext(),
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items),
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source),
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source),
   at Emby.Server.Implementations.ApplicationHost.DiscoverTypes(),
   at Emby.Server.Implementations.ApplicationHost.InitAsync(IServiceCollection serviceCollection),
   at Jellyfin.Server.Program.StartApp(StartupOptions options),
   at Jellyfin.Server.Program.Main(String[] args),
   at Jellyfin.Server.Program.<Main>(String[] args),
Aborted (core dumped),
@Bond-009 Bond-009 added the bug This PR or Issue describes or fixes something that isn't working label Nov 21, 2019
@a-r-db
Copy link

a-r-db commented Dec 11, 2019

I agree. :( same problem here.
I am going to try different versions.
I tried 6.0 release and it installed without crashing...
It seems 7.0 crashes especially when it upgrades on reboot.
I running the Ubuntu package jellyfin.

@marconian
Copy link

I had the same problem. It is searching for the assemblies in the plugin folder. Copiing the MediaBrowser.*.dll files to the plugin directory fixed it for me.

cp /usr/lib/jellyfin/bin/MediaBrowser.* /var/lib/jellyfin/plugins/'OpenSubtitles'/

@Misterke
Copy link

Misterke commented Apr 1, 2020

Hi all, just in case you hit the above, but can't use the fix above because you're running jellyfin as a docker container, then perhaps my experience might help.

I had Jellyfin inside a jellyfin/jellyfin docker on a Pi3, but I had all the config stuff (including the plugins) mapped to an external folder. So, my workaround was to cd to /jellyfin folder inside the image folder of the jellyfin docker (/var/lib/docker/overlay/686c27052dd10eb448f095e1d5f8fcd3e08ff1a0d20245f53378f0b063f3bf6c/root/jellyfin in my case) and then do: for i in MediaBrowser*; do ln -s "/jellyfin/$i" "/home/jellyfin/config/plugins/Open Subtitles/$i"; done where /home/jellyfin/config was the folder that was mapped to /config in the docker container. That did the trick.

The added advantage here is that the jellyfin docker image can still be update. As long as all the MediaBrowser stuff remains in /jellyfin, the symlinks will remain valid.

Keep safe!

@jmullentech
Copy link

jmullentech commented Jul 1, 2020

@Misterke Thank you for posting that!!

In my case, also using Docker, the easiest way for me to accomplish this was to drop into a Bash session inside the container (via docker exec) and navigate over to /config/data and then use @marconian's method of copying the files over with cp /usr/lib/jellyfin/bin/MediaBrowser.* plugins/Open\ Subtitles/

Restarted the jellyfin service from within the container and she's good to go.

Thanks to both of you, as well as @jaydenthorup for reporting this one. First issue I've had with Jellyfin in the year or so I've used it. Annoyed but with your help, it was a quick fix. So thanks for that!

ETA: Might be worth mentioning that I also have my /config path mapped to an external volume. But to get the files from within the container _to the volume requires dropping into a shell. Or at least, that's the easiest way I found.

TLDR: Issuing cp /usr/lib/jellyfin/bin/MediaBrowser.* /config/data/plugins/Open\ Subtitles/ from a shell session within the container should fix this for anyone with issues.

@fernandu00
Copy link

You guys saved me!
I'm running the latest version of jellyfin in a docker container inside a pi2 and that did the trick!
besides the command cp /usr/lib/jellyfin/bin/MediaBrowser.* /config/data/plugins/Open\ Subtitles/ from a shell session inside my jellyfin container, I changed ownership of the copied files to match my jellyfin user just in case because the files were from root user and root group so I used chown and chgrp in order to give my jellyfin user the ownership and to its group. I don´t know if I needed that but I've had many problems with user permissions inside docker already..so..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This PR or Issue describes or fixes something that isn't working
Projects
None yet
Development

No branches or pull requests

7 participants