Latest Open subtitles v7 breaks

Noticed my subtitles suddenly were not working. checked the settings and the user name and password fields were empty. Tried to reenter them and save and they would continue to come back blank. checked the log and seem there was an attempted update on the plugin list and the plugin both of which failed.

error : Access to the path ‘Jellyfin.Plugin.OpenSubtitles.dll’ is denied. at System.IO.FileSystem…

deleted the plugin files and retried installing v7 and this also didnt work and only made OpenSubtitlesHandler.dll but reported back as completed.

so i tried v6 and this works no issue.

TL;DR if you have issues with Open subtitles V7 then stop the jellyfin service. delete your open subs plugin files then start the service and install V6

1 Like

EDIT: Never mind, it said that the plugin (Open Subtitles 7.0) was installed and asked me to restart Jellyfin but when I opened it again the plugin was not installed but the Open Subtitle folder was created with the OpenSubtitlesHandler.dll inside it.

If I try to install again it, I get an “installation failed” with a log error: “[ERR] Package installation failed
System.UnauthorizedAccessException: Access to the path ‘OpenSubtitlesHandler.dll’ is denied.”

So I also had to close everything and install Open Subtitles 6.0 (worked fine), I installed other plugins with no issues so I assume it’s problem with the Open Subtitles 7.0 version.

(Windows 10 Jellyfin_v10.4.0-x64)

Thanks for taking the time to confirm this error. I too had the “installation failed” with a log error: “[ERR] Package installation failed
System.UnauthorizedAccessException: Access to the path ‘OpenSubtitlesHandler.dll’ is denied.”

issue too but forgot to mention that in my first post.

We found the issue. The plugin didn’t actually build, so it created an empty ZIP file. Since nothing extracted, the plugin would never update.

We did rebuild it, but now v7 requires 10.4.1. Make sure you upgrade when you have a chance - and if you have a reverse proxy setup, please check the release notes.

2 Likes
[01:31:34] [INF] Jellyfin version: 10.4.1
...  
[01:31:41] [ERR] Package installation failed
    System.UnauthorizedAccessException: Access to the path 'Jellyfin.Plugin.OpenSubtitles.dll' is denied.
       at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
       at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
       at Emby.Server.Implementations.Updates.InstallationManager.PerformPackageInstallation(PackageVersionInfo package, CancellationToken cancellationToken)
       at Emby.Server.Implementations.Updates.InstallationManager.InstallPackageInternal(PackageVersionInfo package, CancellationToken cancellationToken)
       at Emby.Server.Implementations.Updates.InstallationManager.InstallPackage(PackageVersionInfo package, CancellationToken cancellationToken)
[01:31:41] [ERR] Error
    System.UnauthorizedAccessException: Access to the path 'Jellyfin.Plugin.OpenSubtitles.dll' is denied.
       at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
       at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
       at Emby.Server.Implementations.Updates.InstallationManager.PerformPackageInstallation(PackageVersionInfo package, CancellationToken cancellationToken)
       at Emby.Server.Implementations.Updates.InstallationManager.InstallPackageInternal(PackageVersionInfo package, CancellationToken cancellationToken)
       at Emby.Server.Implementations.Updates.InstallationManager.InstallPackage(PackageVersionInfo package, CancellationToken cancellationToken)
       at Emby.Server.Implementations.ScheduledTasks.PluginUpdateTask.Execute(CancellationToken cancellationToken, IProgress`1 progress)
       at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
[01:31:41] [INF] Check for plugin updates Failed after 0 minute(s) and 1 seconds

Tomorrowish… I will try to remove the 6.0 and install 7.0 to see if it does anything.

Yeah, we haven’t fixed the “can’t delete a plugin on Windows” issue. It’s far more complex than a small update.

That said, if you do delete the old plug-in, the new one should work.

1 Like

so any plugin updates will fail?

On Windows, yes. As far as we can tell, they have never worked for us.

Ty, that fixed it. I just deleted the %localappdata%\jellyfin\plugins\Open Subtitles folder, opened jellying and installed 7.0 no errors during the installation / Jellyfin restart, but when I tried to add a username + password to the plugin I got this:

[22:50:16] [ERR] Error processing request
System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
   at System.Guid.TryParseGuidWithNoStyle(ReadOnlySpan`1 guidString, GuidResult& result)
   at System.Guid.TryParseGuid(ReadOnlySpan`1 guidString, GuidStyles flags, GuidResult& result)
   at System.Guid..ctor(String g)
   at MediaBrowser.Api.PluginService.Post(UpdatePluginConfiguration request)
   at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)

I tried to rename the old configuration file ( %localappdata%\jellyfin\plugins\configurations\Jellyfin.Plugin.OpenSubtitles.xml ) and remove/reinstall the plugin again just to see if it would recreate the .xml file, but as soon as I hit save I got that error and the .xml file is not created.

I assume it’s related to this issue: Unable to save settings #1881 and it’s probably already fixed (#2008) So I will just wait for the next release.

Btw: you can still directly edit the configuration files (%localappdata%\jellyfin\plugins\configurations), adding the plugin’s input ID of each setting to the XML file, EXAMPLE:

Kodi Sync Queue

 <?xml version="1.0"?>
 <PluginConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
 	<txtRetDays>0</txtRetDays>
 	<chkEnabled>true</chkEnabled>
 	<tkMovies>true</tkMovies>
 	<tkBoxSets>true</tkBoxSets>
 	<tkTVShows>true</tkTVShows>
 	<tkMusic>true</tkMusic>
 	<tkMusicVideos>true</tkMusicVideos>
 </PluginConfiguration>

(it matches the screenshot settings)


Open subtitles XML file (Jellyfin.Plugin.OpenSubtitles.xml) looks like this:

<?xml version="1.0"?>
<PluginConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Username>usernamehere</Username>
  <Password>passwordhere</Password>
</PluginConfiguration>