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

[Issue]: newer Abi shows/installs older targetAbi even if it is not compatible #11331

Closed
1 task done
jumoog opened this issue Apr 10, 2024 · 7 comments
Closed
1 task done
Labels
bug Something isn't working

Comments

@jumoog
Copy link

jumoog commented Apr 10, 2024

Please describe your bug

I have my plugin for several Abi versions. So people don't have to change their url and there is only one url. In 10.9 the 10.8.4 versions are offered to me and also automatically updated when there is a new 10.8.4 version.

Jellyfin should only allow minor releases. For example, 10.8.13 allows "targetAbi": "10.8.4.0". 10.9.x should ignore all 10.8.x versions.

Reproduction Steps

  • Add https://raw.githubusercontent.com/jumoog/jellyfin-plugin-repo/main/manifest.json as Plugin source.
  • It shows all Versions
  • Install the newest Version
  • It successfully installs
  • After reboot it shows Status NotSupported

Jellyfin Version

Unstable (master branch)

if other:

jellyfin/jellyfin:2024040805-amd64

Environment

- Virtualization: Docker

Jellyfin logs

[10:36:59] [INF] [54] Emby.Server.Implementations.Plugins.PluginManager: No local manifest exists for plugin Intro Skipper. Skipping manifest reconciliation.
[10:36:59] [INF] [54] Emby.Server.Implementations.Updates.InstallationManager: Plugin installed: Intro Skipper 0.1.16.5
[10:36:59] [INF] [54] Emby.Server.Implementations.ApplicationHost: App needs to be restarted.
[10:37:05] [INF] [57] Emby.Server.Implementations.Session.SessionManager: Sending shutdown notifications
[10:37:05] [INF] [51] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 172.20.0.1 closed
[10:37:05] [INF] [55] Jellyfin.Networking.PortForwardingHost: Stopping NAT discovery
[10:37:05] [INF] [51] Main: Running query planner optimizations in the database... This might take a while
[10:37:05] [INF] [58] Emby.Server.Implementations.IO.LibraryMonitor: Stopping directory watching for path /test
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing PluginManager
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing MusicBrainzAlbumProvider
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing MusicBrainzArtistProvider
[10:37:06] [INF] [1] Main: Jellyfin version: 10.9.0
[10:37:06] [INF] [1] Main: Environment Variables: ["[JELLYFIN_WEB_DIR, /jellyfin/jellyfin-web]", "[JELLYFIN_FFMPEG, /usr/lib/jellyfin-ffmpeg/ffmpeg]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_CACHE_DIR, /cache]", "[JELLYFIN_CONFIG_DIR, /config/config]", "[JELLYFIN_DATA_DIR, /config]"]
[10:37:06] [INF] [1] Main: Arguments: ["/jellyfin/jellyfin.dll", "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[10:37:06] [INF] [1] Main: Operating system: Debian GNU/Linux 12 (bookworm)
[10:37:06] [INF] [1] Main: Architecture: X64
[10:37:06] [INF] [1] Main: 64-Bit Process: True
[10:37:06] [INF] [1] Main: User Interactive: True
[10:37:06] [INF] [1] Main: Processor count: 20
[10:37:06] [INF] [1] Main: Program data path: /config
[10:37:06] [INF] [1] Main: Log directory path: /config/log
[10:37:06] [INF] [1] Main: Config directory path: /config/config
[10:37:06] [INF] [1] Main: Cache path: /cache
[10:37:06] [INF] [1] Main: Web resources path: /jellyfin/jellyfin-web
[10:37:06] [INF] [1] Main: Application directory: /jellyfin/
[10:37:06] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache
[10:37:07] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[10:37:07] [ERR] [1] Emby.Server.Implementations.Plugins.PluginManager: Failed to load assembly /config/plugins/Intro Skipper_0.1.16.5/ConfusedPolarBear.Plugin.IntroSkipper.dll. This error occurs when a plugin references an incompatible version of one of the shared libraries. Disabling plugin
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeModule.GetTypes()
   at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
[10:37:07] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly LDAP-Auth, Version=18.0.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/LDAP Authentication_18.0.0.0/LDAP-Auth.dll
[10:37:07] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Novell.Directory.Ldap.NETStandard, Version=3.6.0.0, Culture=neutral, PublicKeyToken=510c34e9dec7f86f from /config/plugins/LDAP Authentication_18.0.0.0/Novell.Directory.Ldap.NETStandard.dll

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@jumoog jumoog added the bug Something isn't working label Apr 10, 2024
@jellyfin-bot
Copy link
Contributor

Hi, it seems like your issue report has the following item(s) that need to be addressed:

  • The format of the environment section has been altered from the template.

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

@nielsvanvelzen
Copy link
Member

The targetAbi property is only used to specify a minimum version, not a maximum. So a plugin for 10.8.z is allowed to be installed with 10.9. This is intentional behavior so not a bug.
I do agree that we should improve this behavior though.

@jumoog jumoog changed the title [Issue]: 10.9 shows/installs targetAbi10.8 [Issue]: newer Abi shows/installs older targetAbi even if it is not compatible Apr 10, 2024
@felix920506
Copy link
Member

Working as intended.

@felix920506 felix920506 closed this as not planned Won't fix, can't repro, duplicate, stale Apr 11, 2024
@nielsvanvelzen
Copy link
Member

Reopening as this is a valid issue

@jumoog
Copy link
Author

jumoog commented Apr 11, 2024

Working as intended.

I should be able to prevent people from downloading incompatible versions. Especially if there is a major version change, the old version will probably not work anymore due to breaking Abi changes.

@jellyfin-bot
Copy link
Contributor

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot jellyfin-bot added the stale Stale and will be closed if no activity occurs label Aug 10, 2024
@jumoog
Copy link
Author

jumoog commented Aug 12, 2024

is still an issue. I can take a look and do a PR.

@jellyfin-bot jellyfin-bot removed the stale Stale and will be closed if no activity occurs label Aug 13, 2024
@jumoog jumoog closed this as completed Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Closed/Done
Archived in project
Development

No branches or pull requests

4 participants