jumoog / intro-skipper

Fingerprint audio to automatically detect and skip intro/credit sequences in Jellyfin
https://discord.gg/AYZ7RJ3BuA
GNU General Public License v3.0
405 stars 22 forks source link

[Bug]: Plugin fails to load after 2.0.3 #181

Closed Kakoluz closed 1 month ago

Kakoluz commented 1 month ago

Describe the bug

I've tried to update the plugin multiple times but I cannot get the plugin to load al tall after that version.

i've tried to clean all config files within the container but to no avail it will always malfunction and won´t start

Jellyfin installation method

Truenas scale community chart (Helm)

Container image and tag

App Version: 10.9.2, Chart Version: 1.2.12, Container used: docker.io/jellyfin/jellyfin:10.9.2

Operating System

Truenas scale

IMDb ID of that TV Series

No response

Support Bundle

N/A

Jellyfin logs

[2024-05-26 09:49:03.162 +00:00] [ERR] [14] Emby.Server.Implementations.Plugins.PluginManager: Error creating "ConfusedPolarBear.Plugin.IntroSkipper.Plugin"
System.Xml.XmlException: Unexpected end of file has occurred. The following elements are not closed: EpisodeId, Intro, ArrayOfIntro. Line 1, position 131073.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at ConfusedPolarBear.Plugin.IntroSkipper.XmlSerializationHelper.MigrateXML(String filePath)
   at ConfusedPolarBear.Plugin.IntroSkipper.Plugin..ctor(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer, IServerConfigurationManager serverConfiguration, ILibraryManager libraryManager, IItemRepository itemRepository, ILogger`1 logger)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
   at Emby.Server.Implementations.Plugins.PluginManager.CreatePluginInstance(Type type)
jumoog commented 1 month ago

can you please share your intro.xml and credits.xml

Kakoluz commented 1 month ago

I have just made a find / | grep intro.xml and no results, I don´t have neither of those in the container

jumoog commented 1 month ago

ok thats good to know

jumoog commented 1 month ago

The error message indicates that the XML file is incomplete. The following elements are not closed: EpisodeId, Intro, ArrayOfIntro. Line 1, position 131073. Have you mounted /config into the container? Do you have the folder /config/data/introskipper/?

jumoog commented 1 month ago

In this case, the only thing that makes sense is for the plugin to delete the broken XML file.

jumoog commented 1 month ago

My guess is that you turned off your Docker container while the xml file was being written.

jumoog commented 1 month ago

Please try this: https://github.com/jumoog/intro-skipper/releases/tag/10.9%2Fpreview replace the dll and restart. This should delete the xml files and the plugin should work again. If it works, you have re-run the scheduled tasks to rebuild the xml files.

Kakoluz commented 1 month ago

The error message indicates that the XML file is incomplete. The following elements are not closed: EpisodeId, Intro, ArrayOfIntro. Line 1, position 131073. Have you mounted /config into the container? Do you have the folder /config/data/introskipper/?

All jellyfin related stuff is stored on a persistent volume and that folder is not present either.

Please try this: https://github.com/jumoog/intro-skipper/releases/tag/10.9%2Fpreview replace the dll and restart. This should delete the xml files and the plugin should work again. If it works, you have re-run the scheduled tasks to rebuild the xml files.

Will try as soon as possible, will report back. Thank you

Kakoluz commented 1 month ago

Please try this: https://github.com/jumoog/intro-skipper/releases/tag/10.9%2Fpreview replace the dll and restart. This should delete the xml files and the plugin should work again. If it works, you have re-run the scheduled tasks to rebuild the xml files.

I've tested this version and starts correctly, I'm currently running an scan and seems to work fine.

Thanks

jumoog commented 1 month ago

Yes, that means you had the xml files somewhere and they were broken.

jumoog commented 1 month ago

new version is out