Jump to content

Plugins fail to load with "System.Runtime.InteropServices.COMException (0x8007054F): An internal error occurred"


yanofsky

Recommended Posts

yanofsky

Hi, I noticed when trying to install OpenSubtitles that plugin loading seems completely broken for me. Error seems to be a generic COMException which I don't know how to decipher. Here is relevant debug log:

[...]
2018-12-24 00:58:14.455 Info App: Loading assemblies
2018-12-24 00:58:14.676 Info App: File /var/lib/emby/ProgramData-Server/plugins/Emby.Server.CinemaMode.dll has version 1.0.2.0
2018-12-24 00:58:14.713 Info App: File /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server/plugins/Emby.Server.CinemaMode.dll has version 1.0.2.0
2018-12-24 00:58:14.738 Info App: File /var/lib/emby/ProgramData-Server/plugins/IMVDb.dll has version 1.0.1.0
2018-12-24 00:58:14.760 Info App: File /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server/plugins/IMVDb.dll has version 1.0.1.0
2018-12-24 00:58:14.760 Info App: File /var/lib/emby/ProgramData-Server/plugins/OpenSubtitles.dll has version 1.0.2.0
2018-12-24 00:58:14.762 Info App: File /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server/plugins/OpenSubtitles.dll has version 1.0.2.0
2018-12-24 00:58:14.779 Error App: Error loading assembly /var/lib/emby/ProgramData-Server/plugins/Emby.Server.CinemaMode.dll
    *** Error Report ***
    Version: 3.5.3.0
    Command line: /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server/EmbyServer.dll -ffmpeg /nix/store/jsr6j55snk88ia722ksl64aphlbpzhmh-ffmpeg-3.4.4-bin/bin/ffmpeg -ffprobe /nix/store/jsr6j55snk88ia722ksl64aphlbpzhmh-ffmpeg-3.4.4-bin/bin/ffprobe -programdata /var/lib/emby/ProgramData-Server
    Operating system: Unix 4.14.79.0
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: True
    Processor count: 1
    Program data path: /var/lib/emby/ProgramData-Server
    Application directory: /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server
    System.Runtime.InteropServices.COMException (0x8007054F): An internal error occurred.
     (Exception from HRESULT: 0x8007054F)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(IntPtr ptrNativeAssemblyLoadContext, IntPtr ptrAssemblyArray, Int32 iAssemblyArrayLen, IntPtr ptrSymbols, Int32 iSymbolArrayLen, ObjectHandleOnStack retAssembly)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(Stream assembly, Stream assemblySymbols)
       at System.Reflection.Assembly.Load(Byte[] rawAssembly)
       at Emby.Server.Implementations.ApplicationHost.LoadAssembly(String file)
    System.Runtime.InteropServices.COMException
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(IntPtr ptrNativeAssemblyLoadContext, IntPtr ptrAssemblyArray, Int32 iAssemblyArrayLen, IntPtr ptrSymbols, Int32 iSymbolArrayLen, ObjectHandleOnStack retAssembly)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(Stream assembly, Stream assemblySymbols)
       at System.Reflection.Assembly.Load(Byte[] rawAssembly)
       at Emby.Server.Implementations.ApplicationHost.LoadAssembly(String file)
    
2018-12-24 00:58:14.780 Error App: Error loading assembly /var/lib/emby/ProgramData-Server/plugins/IMVDb.dll
    *** Error Report ***
    Version: 3.5.3.0
    Command line: /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server/EmbyServer.dll -ffmpeg /nix/store/jsr6j55snk88ia722ksl64aphlbpzhmh-ffmpeg-3.4.4-bin/bin/ffmpeg -ffprobe /nix/store/jsr6j55snk88ia722ksl64aphlbpzhmh-ffmpeg-3.4.4-bin/bin/ffprobe -programdata /var/lib/emby/ProgramData-Server
    Operating system: Unix 4.14.79.0
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: True
    Processor count: 1
    Program data path: /var/lib/emby/ProgramData-Server
    Application directory: /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server
    System.Runtime.InteropServices.COMException (0x8007054F): An internal error occurred.
     (Exception from HRESULT: 0x8007054F)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(IntPtr ptrNativeAssemblyLoadContext, IntPtr ptrAssemblyArray, Int32 iAssemblyArrayLen, IntPtr ptrSymbols, Int32 iSymbolArrayLen, ObjectHandleOnStack retAssembly)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(Stream assembly, Stream assemblySymbols)
       at System.Reflection.Assembly.Load(Byte[] rawAssembly)
       at Emby.Server.Implementations.ApplicationHost.LoadAssembly(String file)
    System.Runtime.InteropServices.COMException
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(IntPtr ptrNativeAssemblyLoadContext, IntPtr ptrAssemblyArray, Int32 iAssemblyArrayLen, IntPtr ptrSymbols, Int32 iSymbolArrayLen, ObjectHandleOnStack retAssembly)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(Stream assembly, Stream assemblySymbols)
       at System.Reflection.Assembly.Load(Byte[] rawAssembly)
       at Emby.Server.Implementations.ApplicationHost.LoadAssembly(String file)
    
2018-12-24 00:58:14.780 Error App: Error loading assembly /var/lib/emby/ProgramData-Server/plugins/OpenSubtitles.dll
    *** Error Report ***
    Version: 3.5.3.0
    Command line: /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server/EmbyServer.dll -ffmpeg /nix/store/jsr6j55snk88ia722ksl64aphlbpzhmh-ffmpeg-3.4.4-bin/bin/ffmpeg -ffprobe /nix/store/jsr6j55snk88ia722ksl64aphlbpzhmh-ffmpeg-3.4.4-bin/bin/ffprobe -programdata /var/lib/emby/ProgramData-Server
    Operating system: Unix 4.14.79.0
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: True
    Processor count: 1
    Program data path: /var/lib/emby/ProgramData-Server
    Application directory: /nix/store/qdismmqwn5h4lhdpbxpicx4fv06h2gbb-emby-3.5.3.0/opt/emby-server
    System.Runtime.InteropServices.COMException (0x8007054F): An internal error occurred.
     (Exception from HRESULT: 0x8007054F)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(IntPtr ptrNativeAssemblyLoadContext, IntPtr ptrAssemblyArray, Int32 iAssemblyArrayLen, IntPtr ptrSymbols, Int32 iSymbolArrayLen, ObjectHandleOnStack retAssembly)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(Stream assembly, Stream assemblySymbols)
       at System.Reflection.Assembly.Load(Byte[] rawAssembly)
       at Emby.Server.Implementations.ApplicationHost.LoadAssembly(String file)
    System.Runtime.InteropServices.COMException
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(IntPtr ptrNativeAssemblyLoadContext, IntPtr ptrAssemblyArray, Int32 iAssemblyArrayLen, IntPtr ptrSymbols, Int32 iSymbolArrayLen, ObjectHandleOnStack retAssembly)
       at System.Runtime.Loader.AssemblyLoadContext.LoadFromStream(Stream assembly, Stream assemblySymbols)
       at System.Reflection.Assembly.Load(Byte[] rawAssembly)
       at Emby.Server.Implementations.ApplicationHost.LoadAssembly(String file)
    
2018-12-24 00:58:14.782 Info App: Loading MediaBrowser.Api, Version=3.5.3.0, Culture=neutral, PublicKeyToken=null
2018-12-24 00:58:14.782 Info App: Loading MediaBrowser.WebDashboard, Version=3.5.3.0, Culture=neutral, PublicKeyToken=null
2018-12-24 00:58:14.782 Info App: Loading MediaBrowser.Model, Version=3.5.3.0, Culture=neutral, PublicKeyToken=null
2018-12-24 00:58:14.782 Info App: Loading MediaBrowser.Common, Version=3.5.3.0, Culture=neutral, PublicKeyToken=null
[...]
Link to comment
Share on other sites

yanofsky

Here is a newer server log: https://gist.github.com/ryanofsky/e0d1333b9badb47222a6fc28fb9603f4

 

I noticed the previous log had "NetworkInformationException" errors caused by a bad sysfs mount. They seem to be unrelated and are gone after restarting. Unfortunately the "COMException (0x8007054F): An internal error occurred" errors remain and still no plugins are loaded.

Link to comment
Share on other sites

yanofsky

Issue is resolved now. Strangely, this turned out to be caused by bad permissions on /dev/zero:

# ls -al /dev/zero
crw-r--r-- 1 root root 1, 5 Nov 28 23:36 /dev/zero

which I found by running emby under strace and seeing:

openat(AT_FDCWD, "/dev/zero", O_RDWR|O_CLOEXEC) = -1 EACCES (Permission denied)

after it read each plugin DLL file. Fix was simple:

# chmod a+rw /dev/zero
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...