jellyfin / jellyfin

The Free Software Media System
https://jellyfin.org
GNU General Public License v2.0
33.39k stars 3.05k forks source link

[Issue]: Metadata fetch timeout - IPv6 connectivity broken #12255

Open Johnny-Ich opened 2 months ago

Johnny-Ich commented 2 months ago

Please describe your bug

When I try to fetch metadata, TheMovieDb and The Open Movie Database always times out.

also see -> https://github.com/jellyfin/jellyfin/issues/9438

Reproduction Steps

  1. Run Jellyfin in docker, enable IPv6 for the host and the container.
  2. Confirm IPv6 connectivity by ping6 google.de and ping6 jellyfin.server
  3. Run a metadata search
  4. wait
  5. collect logs

Jellyfin Version

10.9.0

if other:

Version: 10.9.7

Environment

- OS: Ubuntu 22.04.4 LTS
- Linux Kernel: 5.15.0-113-generic
- Virtualization: docker
- Clients:  Browser
- Browser: Firefox
- FFmpeg Version: don't know. that one inside the container. ffmpeg not relevant here
- Playback Method: Direct Stream
- Hardware Acceleration: none
- GPU Model: none
- Plugins: AniDB, AudioDB, LDAP-Auth, MusicBrainz, OMDb, Playback Reporting, Studio IMages, TMDb
- Reverse Proxy: none
- Base URL: none
- Networking: Bridge/NAT
- Storage: local

Jellyfin logs

[2024-07-10 21:27:15.284 +00:00] [ERR] [92] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheMovieDb" failed to retrieve search results
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at TMDbLib.Rest.RestRequest.SendInternal(HttpMethod method, CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequest.Get[T](CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequestExtensions.GetOfT[T](RestRequest request, CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.GetConfigAsync()
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.EnsureClientConfigAsync()
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.FindByExternalIdAsync(String externalId, FindExternalSource source, String language, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.Movies.TmdbMovieProvider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2024-07-10 21:28:01.290 +00:00] [ERR] [66] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheMovieDb" failed to retrieve search results
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at TMDbLib.Rest.RestRequest.SendInternal(HttpMethod method, CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequest.Get[T](CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequestExtensions.GetOfT[T](RestRequest request, CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.GetConfigAsync()
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.EnsureClientConfigAsync()
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.FindByExternalIdAsync(String externalId, FindExternalSource source, String language, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.Movies.TmdbMovieProvider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2024-07-10 21:28:12.716 +00:00] [ERR] [66] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing". URL "GET" "/Packages".
[2024-07-10 21:28:12.717 +00:00] [WRN] [66] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://stream.gcraft.eu:8920/Packages?PackageType=UserInstalled" to "95.115.127.250" in 0:01:40.0167596 with Status Code 500
[2024-07-10 21:28:42.856 +00:00] [ERR] [32] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing". URL "GET" "/Packages".
[2024-07-10 21:28:42.856 +00:00] [WRN] [32] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://stream.gcraft.eu:8920/Packages?PackageType=UserInstalled" to "95.115.127.250" in 0:01:40.0053185 with Status Code 500
[2024-07-10 21:28:55.340 +00:00] [ERR] [66] MediaBrowser.Providers.Manager.ProviderManager: Provider "The Open Movie Database" failed to retrieve search results
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at MediaBrowser.Providers.Plugins.Omdb.OmdbItemProvider.GetSearchResultsInternal(ItemLookupInfo searchInfo, Boolean isSearch, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2024-07-10 21:28:55.343 +00:00] [WRN] [66] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://stream.gcraft.eu:8920/Items/RemoteSearch/Movie" to "95.115.127.250" in 0:03:20.0942604 with Status Code 200
[2024-07-10 21:29:41.295 +00:00] [ERR] [114] MediaBrowser.Providers.Manager.ProviderManager: Provider "The Open Movie Database" failed to retrieve search results
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at MediaBrowser.Providers.Plugins.Omdb.OmdbItemProvider.GetSearchResultsInternal(ItemLookupInfo searchInfo, Boolean isSearch, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2024-07-10 21:29:41.297 +00:00] [WRN] [114] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://stream.gcraft.eu:8920/Items/RemoteSearch/Movie" to "95.115.127.250" in 0:03:20.0199121 with Status Code 200
[2024-07-10 21:31:10.344 +00:00] [ERR] [11] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing". URL "GET" "/Packages".
[2024-07-10 21:31:10.344 +00:00] [WRN] [11] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://stream.gcraft.eu:8920/Packages?PackageType=UserInstalled" to "95.115.127.250" in 0:01:40.0039808 with Status Code 500
[2024-07-10 21:31:41.936 +00:00] [ERR] [18] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing". URL "GET" "/Packages".
[2024-07-10 21:31:41.936 +00:00] [WRN] [18] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://stream.gcraft.eu:8920/Packages?PackageType=UserInstalled" to "95.115.127.250" in 0:01:40.0006492 with Status Code 500

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

felix920506 commented 2 months ago

cc @Shadowghost

Shadowghost commented 2 months ago

This will need fixing in the plugins I think