danieladov / jellyfin-plugin-mergeversions

This plugin scans all your movies and groups every repeated movie in one version
MIT License
204 stars 13 forks source link

Stack overflow when merging movies #56

Open LesDomen opened 4 months ago

LesDomen commented 4 months ago

Jellyfin: 10.9.3 running in Docker on debian 12 Plugin version: 10.9.1.1

Merging episodes works without issue, but merging movies crashes the server.

Logs:

jellyfin  | [06:24:51] [INF] [65] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Starting plugin, Merging Movies
jellyfin  | [06:24:51] [INF] [65] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Scanning for repeated movies
jellyfin  | [06:24:51] [INF] [60] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [61] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [11] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [22] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [59] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [50] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [23] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [8] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [52] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [63] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [39] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [21] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [40] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [28] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [70] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [64] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | [06:24:51] [INF] [65] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: Merging ******
jellyfin  | Stack overflow.
jellyfin  | [06:24:51] [INF] [11] Jellyfin.Plugin.MergeVersions.MergeVersionsManager: ******
jellyfin  |    at System.Guid.TryParseGuid(System.ReadOnlySpan`1<Char>, GuidResult ByRef)
jellyfin  |    at System.Guid..ctor(System.String)
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
<SNIP same line continues />
jellyfin  |    at MediaBrowser.Controller.Entities.Video.get_MediaSourceCount()
jellyfin  |    at Jellyfin.Plugin.MergeVersions.MergeVersionsManager+<>c.<MergeVersions>b__12_2(MediaBrowser.Controller.Entities.Video)
jellyfin  |    at System.Linq.Enumerable.TryGetFirst[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>, Boolean ByRef)
jellyfin  |    at Jellyfin.Plugin.MergeVersions.MergeVersionsManager+<MergeVersions>d__12.MoveNext()
jellyfin  |    at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Jellyfin.Plugin.MergeVersions.MergeVersionsManager+<MergeVersions>d__12, Jellyfin.Plugin.MergeVersions, Version=10.9.1.1, Culture=neutral, PublicKeyToken=null]](<MergeVersions>d__12 ByRef)
jellyfin  |    at Jellyfin.Plugin.MergeVersions.MergeVersionsManager.MergeVersions(System.Collections.Generic.List`1<System.Guid>)
jellyfin  |    at Jellyfin.Plugin.MergeVersions.MergeVersionsManager+<>c__DisplayClass6_0+<<MergeMovies>b__2>d.MoveNext()
jellyfin  |    at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Jellyfin.Plugin.MergeVersions.MergeVersionsManager+<>c__DisplayClass6_0+<<MergeMovies>b__2>d, Jellyfin.Plugin.MergeVersions, Version=10.9.1.1, Culture=neutral, PublicKeyToken=null]](<<MergeMovies>b__2>d ByRef)
jellyfin  |    at Jellyfin.Plugin.MergeVersions.MergeVersionsManager+<>c__DisplayClass6_0.<MergeMovies>b__2(System.Linq.IGrouping`2<System.String,MediaBrowser.Controller.Entities.Movies.Movie>)
jellyfin  |    at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<ForWorker>b__1(System.Threading.Tasks.RangeWorker ByRef, Int64, Boolean ByRef)
jellyfin  |    at System.Threading.Tasks.TaskReplicator+Replica.Execute()
jellyfin  |    at System.Threading.Tasks.Task.InnerInvoke()
jellyfin  |    at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
jellyfin  |    at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread)
jellyfin  |    at System.Threading.ThreadPoolWorkQueue.Dispatch()
jellyfin  |    at System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()
ataaki commented 3 months ago

I've exactly the same issue.

Jellyfin 10.9.6 running in Truenas Scale Jail Merge Versions: 10.9.1.1