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]: Uninstalling plugin causes old version to be updated on restart #9059

Open
1 task done
zilexa opened this issue Jan 10, 2023 · 8 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@zilexa
Copy link

zilexa commented Jan 10, 2023

Please describe your bug

Jellyfin running via docker compose. Host is Manjaro Gnome.

Whenever I uninstall Trakt addon and restart (as required by the server), I end up with 2 (even 3!) Trakt versions of the plugin, visible in Dashboard>Plugins. I have now removed Trakt addon 6 times already, but always end up with multiple Trakt plugins.

To reproduce:

  1. Install Trakt addon.
  2. I have been using it for over a year.
  3. In a browser go to Jellyfin > Dashboard > Plugins, disable trakt plugin.
  4. Restart server.
  5. Do the same but now uninstall trakt plugin.
  6. Restart server.
  7. Notice trakt plugin now shows up twice, an old "superseeded" version that was not present before, and the latest version.
  8. Keep repeating steps.
  9. Notice you will always end up with 2 to 3 Trakt plugins.

How do I really get rid of Trakt?

Jellyfin Version

10.8.0

if other:

No response

Environment

- OS: Manjaro Gnome
- Virtualization: Docker Compose
- Clients: Firefox browser, ShieldTV Pro
- Browser: Firefox on Windows, Firefox on Manjaro Gnome
- FFmpeg Version: n/a
- Playback Method: n/a
- Hardware Acceleration: Intel
- Plugins: several
- Reverse Proxy: yes but local only, not exposed. Via Caddy-Docker-Proxy.
- Base URL: http://jellyfin.o/ (no https, not exposed to the internet)
- Networking: LAN
- Storage: SSD

Jellyfin logs

[16:40:04] [INF] [1] Jellyfin.Plugin.KodiSyncQueue.Data.DbRepo: Creating DB Repository...

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Kodi Sync Queue 9.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Open Subtitles 18.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Simkl 3.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Skin Manager 2.0.1

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Subtitle Extract 2.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TheTVDB 8.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Trakt 19.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TV Maze 5.0.0.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TMDb 10.8.8.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Studio Images 10.8.8.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.8.8.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.8.8.0

[16:40:04] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.8.8.0

[16:40:04] [INF] [1] Main: Kestrel listening on Any IP4 Address

[16:40:04] [WRN] [1] Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository: Using an in-memory repository. Keys will not be persisted to storage.

[16:40:04] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.

[16:40:04] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {2b70e725-2cf1-43ae-bfee-46ec3c9d504f} may be persisted to storage in unencrypted form.

[16:40:04] [INF] [1] Emby.Server.Implementations.ApplicationHost: Running startup tasks

[16:40:04] [INF] [1] Jellyfin.Plugin.KodiSyncQueue.ScheduledTasks.RetentionTask: Retention task scheduled

[16:40:04] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Remove Old Sync Data set to fire at 2023-01-11 00:01:00.000 +01:00, which is 07:20:55.1563106 from now.

[16:40:04] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Extract Chapter Images set to fire at 2023-01-11 02:00:00.000 +01:00, which is 09:19:55.1431654 from now.

[16:40:04] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 5.1.2

[16:40:04] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["libdav1d", "av1", "av1_cuvid", "av1_qsv", "h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8", "libvpx", "vp8_cuvid", "vp8_qsv", "vp9", "libvpx-vp9", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "flac", "mp3"]

[16:40:04] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "flac", "libmp3lame", "libopus", "libvorbis", "srt"]

[16:40:04] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["deinterlace_qsv", "deinterlace_vaapi", "hwupload_cuda", "hwupload_vaapi", "overlay_opencl", "overlay_qsv", "overlay_vaapi", "overlay_cuda", "procamp_vaapi", "scale_cuda", "scale_opencl", "scale_qsv", "scale_vaapi", "tonemap_cuda", "tonemap_opencl", "tonemap_vaapi", "vpp_qsv", "yadif_cuda", "zscale", "alphasrc"]

[16:40:05] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]

[16:40:05] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg

[16:40:05] [INF] [1] Emby.Server.Implementations.ApplicationHost: ServerId: 37722182499041828f042853d52cbcaa

[16:40:05] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all pre-startup entry points in 0:00:00.146336

[16:40:05] [INF] [1] Emby.Server.Implementations.ApplicationHost: Core startup complete

[16:40:05] [INF] [13] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory /data/Movies

[16:40:05] [INF] [10] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory /data/Shows

[16:40:05] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all post-startup entry points in 0:00:00.2015378

[16:40:05] [INF] [1] Main: Startup complete 0:00:03.4026849

[16:40:07] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: StartupTrigger fired for task: Update Plugins

[16:40:07] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task PluginUpdateTask

[16:40:07] [INF] [19] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing Update Plugins

[16:40:08] [INF] [8] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.88.30 request

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'AccessSchedule' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ActivityLog' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'CustomItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'HomeSection' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ImageInfo' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Permission' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Preference' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ApiKey' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Device' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DeviceOptions' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [WRN] [19] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'User' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

[16:40:09] [ERR] [13] Emby.Server.Implementations.Plugins.PluginManager: Failed to download image to path /config/data/plugins/Subtitle Extract_2.0.0.0/jellyfin-plugin-subtitleextract.png on disk.

System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).

   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()

   at System.Net.Http.HttpClient.GetStreamAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)

   at Emby.Server.Implementations.Plugins.PluginManager.GenerateManifest(PackageInfo packageInfo, Version version, String path, PluginStatus status)

[16:40:09] [INF] [11] Emby.Server.Implementations.Updates.InstallationManager: Plugin installed: Trakt 22.0.0.0

[16:40:09] [INF] [11] Emby.Server.Implementations.ApplicationHost: App needs to be restarted.

[16:40:09] [INF] [11] Emby.Server.Implementations.ScheduledTasks.TaskManager: Update Plugins Completed after 0 minute(s) and 1 seconds

[16:40:09] [INF] [11] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks

[16:40:10] [INF] [13] MediaBrowser.Plugins.SmtpNotifications.Notifier: Sending email REMOVEDFROMLOG with subject Jellyfin: Jellyfin Server needs to be restarted

[16:40:11] [INF] [19] MediaBrowser.Plugins.SmtpNotifications.Notifier: Completed sending email REMOVEDFROMLOG with subject Jellyfin: Jellyfin Server needs to be restarted

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

Screenshot_1

Screenshot_2

It looks like it will go through all Trakt versions.. this is after my 10th or 11th attempt!

Code of Conduct

  • I agree to follow this project's Code of Conduct
@zilexa zilexa added the bug Something isn't working label Jan 10, 2023
@g2p
Copy link

g2p commented Jan 14, 2023

This looks like #8681 was not properly fixed

@zilexa
Copy link
Author

zilexa commented Jan 14, 2023

I managed to get rid of Trakt eventually, following specific steps, don't remember how but you have multiple options disable/uninstall etc, so if you select one of those for one of the plugins and something else for the other Trakt plugins, then let plugins be updated before restarting. Something like that. I bit of a puzzle.

@g2p
Copy link

g2p commented Jan 14, 2023

My workaround was to run

rm -rf /var/lib/jellyfin/plugins/SomePlugin*

to remove all past versions of the plugin while Jellyfin is stopped.

@zilexa
Copy link
Author

zilexa commented May 8, 2023

On the latest version, removing Trakt (there was only 1 Trakt plugin), then restart Jellyfin (docker container restart), then go to plugins and see this, Trakt multiplied exponentially:

Screenshot from 2023-05-08 10-35-31

When I go to plugin repository and find the Trakt plugin, it says I have version 19 installed already.
But the version I removed, was version 23. There was no v19 visibly installed.

@jellyfin-bot
Copy link
Contributor

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@jellyfin-bot jellyfin-bot added the stale Stale and will be closed if no activity occurs label Sep 6, 2023
@Shadowghost
Copy link
Contributor

This is caused by Jellyfin not cleaning up old plugin versions on plugin upgrade. We need to check for old versions on start and remove them, otherwise the update check on start will update the old version again.

@jellyfin-bot jellyfin-bot removed the stale Stale and will be closed if no activity occurs label Sep 13, 2023
@oddstr13 oddstr13 changed the title [Issue]: Cannot remove Trakt plugin - always reinstalled after restart [Issue]: Uninstalling plugin causes old version of it to be updated on restart Oct 10, 2023
@oddstr13 oddstr13 changed the title [Issue]: Uninstalling plugin causes old version of it to be updated on restart [Issue]: Uninstalling plugin causes old version to be updated on restart Oct 10, 2023
@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 Feb 8, 2024
@zkhcohen
Copy link

zkhcohen commented Feb 8, 2024

Not fixed.

@jellyfin-bot jellyfin-bot removed the stale Stale and will be closed if no activity occurs label Feb 9, 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: Todo
Development

No branches or pull requests

5 participants