SSLv3 issues pre-caching images #6676

Closed
opened 2026-02-07 03:58:30 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @pabsi on GitHub (Jan 24, 2025).

Description of the bug

When refreshing the TV guide (EPG), my EPG provider (XML Data) has some jpeg URLs for the banner/logo/image of the movie/series/channel.
If appears that upon fetching the image (or trying to) the specific URL my EPG provider is giving me, does not have 100% valid certificates or encryption (sorry, not very well versed on this matter).
Example URL: https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3256622.jpg (which loads perfectly fine on my browser).

But jellyfin, throws this in the logs:

jellyfin   | 2025-01-24T08:57:54.583621652Z [08:57:54] [WRN] [20] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3256622.jpg
jellyfin   | 2025-01-24T08:57:54.583849726Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
jellyfin   | 2025-01-24T08:57:54.583865108Z  ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
jellyfin   | 2025-01-24T08:57:54.583874127Z  ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
jellyfin   | 2025-01-24T08:57:54.583882561Z  ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure
jellyfin   | 2025-01-24T08:57:54.583891093Z    --- End of inner exception stack trace ---
jellyfin   | 2025-01-24T08:57:54.583899423Z    at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
jellyfin   | 2025-01-24T08:57:54.583908371Z    at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
jellyfin   | 2025-01-24T08:57:54.583917570Z    --- End of inner exception stack trace ---
jellyfin   | 2025-01-24T08:57:54.583988554Z    at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584021091Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584031274Z    --- End of inner exception stack trace ---
jellyfin   | 2025-01-24T08:57:54.584039458Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584048348Z    at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584056723Z    at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584065126Z    at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
jellyfin   | 2025-01-24T08:57:54.584087024Z    at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584096486Z    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584105212Z    at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584113625Z    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584135437Z    at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584189083Z    at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584202577Z    at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584253366Z    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
jellyfin   | 2025-01-24T08:57:54.584297615Z    at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
jellyfin   | 2025-01-24T08:57:54.584353394Z    at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure)
jellyfin   | 2025-01-24T08:57:54.584365346Z    at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext()

I run Jellyfin on a container, version 10.10.4 which I believe is the latest at the time of writing.

The EPG data comes curated from Threadfin (https://github.com/Threadfin/Threadfin) but it has nothing to do with Threadfin as it can't cache those. Threadfin can only cache channel logos (and I do, and that works without issue).

This is the example programme of the EPG data received:

      <programme channel="93" start="20250124001300 +0000" stop="20250124003700 +0000">
          <title lang="es">Fiestas gastronmicas T2 E16  Pan de Cea</title>
          <sub-title lang="es">2018 | TP</sub-title>
          <desc lang="es"> · Programa/Cocina · La caravana de Canal Cocina viaja hasta Orense, para disfrutar de la Fiesta del Pan de Cea.&#xA;· País: España&#xA;· Reparto: Varios int.</desc>
          <category lang="es">Programa</category>
          <category lang="es">Cocina</category>
          <episode-num system="onscreen">S2E16</episode-num>
          <icon height="" src="https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3256622.jpg" width=""></icon>
          <credits></credits>
          <rating system="ES">
              <value>TP</value>
          </rating>
          <video></video>
          <date>2018</date>
      </programme>

SSL Check on the URL

Upon checking on https://www.ssllabs.com/ssltest/analyze.html?d=orangetv.orange.es
I noticed the overall rating is "B" (not the best) and that "POODLE (SSLv3) - No, SSL 3 not supported"

On the other hand, https://www.sslchecker.com/sslchecker reports that "Vendor is not signed" and therefore "SSL is not trusted".

Attempts to work around the issue

  • I blindly tried adding:
environment:
  - DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=false
  - DOTNET_SYSTEM_NET_SECURITY_PROTOCOLS=Tls12

to no avail.

Had a read of https://github.com/linuxserver/docker-jackett/issues/114 but didn't help.

In the end, I think it's a server problem (their server, orangetv.orange.es), with an incorrect SSL certificate, so I can only think of Jellyfin being more flexible in handling these issues because in the end, the image can be served despite the weaker encryption method.

Reproduction steps

  1. Go to Dashboard
  2. Open Live TV
  3. Under "TV Guide Data Providers", click on Refresh guide data

Alternatively:

  1. Go to Dashboard
  2. Open Scheduled Tasks
  3. Under "Live TV", click on Refresh Guide

Same result.

What is the current bug behavior?

The images are not being cached, and therefore they don't appear when opening some programs under Live TV -> Guide

What is the expected correct behavior?

Images can be downloaded and cached

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.10.4

Environment

- OS:`Ubuntu 24.04.1 LTS`
- Linux Kernel: `Linux f36f51996278 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux`
- Virtualization: `Docker`
- Clients: Android app, LG WebOS app, browser...happens on all
- Browser: Microsoft Edge, Google Chrome, Firefox
- FFmpeg Version: `ffmpeg version 7.0.2-Jellyfin`
- Playback Method: Direct Play
- Hardware Acceleration: `Intel QuickSync (QSV)`
- GPU Model: `intel-gpu-top: Intel Kabylake (Gen9) @ /dev/dri/card0`
- Plugins: Default ones + TheTVDB + TMDb Box Sets + OpenSubtitles
- Reverse Proxy: none
- Base URL: none
- Networking: Docker + port forwarding (not host mode)
- Storage: local

Jellyfin logs

jellyfin  | 2025-01-24T08:57:44.384173320Z [08:57:44] [WRN] [20] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3254034.jpg
jellyfin  | 2025-01-24T08:57:44.384198070Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
jellyfin  | 2025-01-24T08:57:44.384202360Z  ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
jellyfin  | 2025-01-24T08:57:44.384206417Z  ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
jellyfin  | 2025-01-24T08:57:44.384210146Z  ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure
jellyfin  | 2025-01-24T08:57:44.384213621Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.384216915Z    at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
jellyfin  | 2025-01-24T08:57:44.384220672Z    at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
jellyfin  | 2025-01-24T08:57:44.384224414Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.384227692Z    at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384231223Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384234863Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.384238192Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384251268Z    at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384254984Z    at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384258452Z    at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
jellyfin  | 2025-01-24T08:57:44.384262728Z    at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384266318Z    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384269842Z    at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384273273Z    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384276797Z    at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384280274Z    at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384283965Z    at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384287685Z    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
jellyfin  | 2025-01-24T08:57:44.384291475Z    at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.384295096Z    at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure)
jellyfin  | 2025-01-24T08:57:44.384298559Z    at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext()
jellyfin  | 2025-01-24T08:57:44.387802268Z [08:57:44] [WRN] [10] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3254034.jpg
jellyfin  | 2025-01-24T08:57:44.387823316Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
jellyfin  | 2025-01-24T08:57:44.387828074Z  ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
jellyfin  | 2025-01-24T08:57:44.387832060Z  ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
jellyfin  | 2025-01-24T08:57:44.387835612Z  ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure
jellyfin  | 2025-01-24T08:57:44.387845464Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.387849122Z    at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
jellyfin  | 2025-01-24T08:57:44.387852815Z    at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
jellyfin  | 2025-01-24T08:57:44.387856666Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.387859993Z    at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387863812Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387867518Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.387870889Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387874529Z    at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387877944Z    at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387881587Z    at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
jellyfin  | 2025-01-24T08:57:44.387885894Z    at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387889452Z    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387892986Z    at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387896466Z    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387899943Z    at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387903436Z    at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387907255Z    at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387911038Z    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
jellyfin  | 2025-01-24T08:57:44.387918438Z    at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.387922115Z    at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure)
jellyfin  | 2025-01-24T08:57:44.387925587Z    at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext()
jellyfin  | 2025-01-24T08:57:44.395403087Z [08:57:44] [WRN] [10] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3254182.jpg
jellyfin  | 2025-01-24T08:57:44.395424832Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
jellyfin  | 2025-01-24T08:57:44.395429350Z  ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
jellyfin  | 2025-01-24T08:57:44.395433263Z  ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
jellyfin  | 2025-01-24T08:57:44.395436850Z  ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure
jellyfin  | 2025-01-24T08:57:44.395440698Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.395444071Z    at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
jellyfin  | 2025-01-24T08:57:44.395447742Z    at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
jellyfin  | 2025-01-24T08:57:44.395451457Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.395454726Z    at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395458299Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395461836Z    --- End of inner exception stack trace ---
jellyfin  | 2025-01-24T08:57:44.395465243Z    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395468888Z    at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395472281Z    at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395475715Z    at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
jellyfin  | 2025-01-24T08:57:44.395480165Z    at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395483777Z    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395534901Z    at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395540183Z    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395543802Z    at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395547256Z    at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395568920Z    at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395572930Z    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
jellyfin  | 2025-01-24T08:57:44.395576782Z    at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
jellyfin  | 2025-01-24T08:57:44.395580287Z    at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure)
jellyfin  | 2025-01-24T08:57:44.395583751Z    at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext()

FFmpeg logs

Not related to ffmpeg, but please correct me if I am wrong.

Client / Browser logs

Irrelevant

Relevant screenshots or videos

A few examples:
Image
Image

Additional information

No response

Originally created by @pabsi on GitHub (Jan 24, 2025). ### Description of the bug When refreshing the TV guide (EPG), my EPG provider (XML Data) has some jpeg URLs for the banner/logo/image of the movie/series/channel. If appears that upon fetching the image (or trying to) the specific URL my EPG provider is giving me, does not have 100% valid certificates or encryption (sorry, not very well versed on this matter). Example URL: https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3256622.jpg (which loads perfectly fine on my browser). But jellyfin, throws this in the logs: ``` jellyfin | 2025-01-24T08:57:54.583621652Z [08:57:54] [WRN] [20] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3256622.jpg jellyfin | 2025-01-24T08:57:54.583849726Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. jellyfin | 2025-01-24T08:57:54.583865108Z ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. jellyfin | 2025-01-24T08:57:54.583874127Z ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL. jellyfin | 2025-01-24T08:57:54.583882561Z ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure jellyfin | 2025-01-24T08:57:54.583891093Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:54.583899423Z at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount) jellyfin | 2025-01-24T08:57:54.583908371Z at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions) jellyfin | 2025-01-24T08:57:54.583917570Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:54.583988554Z at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584021091Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584031274Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:54.584039458Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584048348Z at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584056723Z at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584065126Z at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) jellyfin | 2025-01-24T08:57:54.584087024Z at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584096486Z at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584105212Z at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584113625Z at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584135437Z at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584189083Z at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584202577Z at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584253366Z at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) jellyfin | 2025-01-24T08:57:54.584297615Z at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:54.584353394Z at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure) jellyfin | 2025-01-24T08:57:54.584365346Z at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext() ``` I run Jellyfin on a container, version `10.10.4` which I believe is the latest at the time of writing. The EPG data comes curated from Threadfin (https://github.com/Threadfin/Threadfin) but it has nothing to do with Threadfin as it can't cache those. Threadfin can only cache channel logos (and I do, and that works without issue). This is the example programme of the EPG data received: ``` <programme channel="93" start="20250124001300 +0000" stop="20250124003700 +0000"> <title lang="es">Fiestas gastronmicas T2 E16 Pan de Cea</title> <sub-title lang="es">2018 | TP</sub-title> <desc lang="es"> · Programa/Cocina · La caravana de Canal Cocina viaja hasta Orense, para disfrutar de la Fiesta del Pan de Cea.&#xA;· País: España&#xA;· Reparto: Varios int.</desc> <category lang="es">Programa</category> <category lang="es">Cocina</category> <episode-num system="onscreen">S2E16</episode-num> <icon height="" src="https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3256622.jpg" width=""></icon> <credits></credits> <rating system="ES"> <value>TP</value> </rating> <video></video> <date>2018</date> </programme> ``` ## SSL Check on the URL Upon checking on https://www.ssllabs.com/ssltest/analyze.html?d=orangetv.orange.es I noticed the overall rating is "_B_" (not the best) and that "**POODLE (SSLv3) - No, SSL 3 not supported**" On the other hand, https://www.sslchecker.com/sslchecker reports that "Vendor is not signed" and therefore "SSL is not trusted". ## Attempts to work around the issue * I blindly tried adding: ``` environment: - DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=false - DOTNET_SYSTEM_NET_SECURITY_PROTOCOLS=Tls12 ``` to no avail. * I also tried modifying `/etc/ssl/open_ssl.conf` as suggested here: https://github.com/Jackett/Jackett/issues/10578#issuecomment-753300521 , and also didn't work. * Tried updating `ca-certificates` Had a read of https://github.com/linuxserver/docker-jackett/issues/114 but didn't help. In the end, I think it's a server problem (their server, orangetv.orange.es), with an incorrect SSL certificate, so I can only think of Jellyfin being more flexible in handling these issues because in the end, the image can be served despite the weaker encryption method. ### Reproduction steps 1. Go to `Dashboard` 2. Open `Live TV` 3. Under "TV Guide Data Providers", click on `Refresh guide data` Alternatively: 1. Go to `Dashboard` 2. Open `Scheduled Tasks` 3. Under "Live TV", click on `Refresh Guide` Same result. ### What is the current _bug_ behavior? The images are not being cached, and therefore they don't appear when opening some programs under `Live TV -> Guide` ### What is the expected _correct_ behavior? Images can be downloaded and cached ### Jellyfin Server version 10.10.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number _No response_ ### Specify the build version 10.10.4 ### Environment ```markdown - OS:`Ubuntu 24.04.1 LTS` - Linux Kernel: `Linux f36f51996278 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux` - Virtualization: `Docker` - Clients: Android app, LG WebOS app, browser...happens on all - Browser: Microsoft Edge, Google Chrome, Firefox - FFmpeg Version: `ffmpeg version 7.0.2-Jellyfin` - Playback Method: Direct Play - Hardware Acceleration: `Intel QuickSync (QSV)` - GPU Model: `intel-gpu-top: Intel Kabylake (Gen9) @ /dev/dri/card0` - Plugins: Default ones + TheTVDB + TMDb Box Sets + OpenSubtitles - Reverse Proxy: none - Base URL: none - Networking: Docker + port forwarding (not host mode) - Storage: local ``` ### Jellyfin logs ```shell jellyfin | 2025-01-24T08:57:44.384173320Z [08:57:44] [WRN] [20] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3254034.jpg jellyfin | 2025-01-24T08:57:44.384198070Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. jellyfin | 2025-01-24T08:57:44.384202360Z ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. jellyfin | 2025-01-24T08:57:44.384206417Z ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL. jellyfin | 2025-01-24T08:57:44.384210146Z ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure jellyfin | 2025-01-24T08:57:44.384213621Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.384216915Z at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount) jellyfin | 2025-01-24T08:57:44.384220672Z at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions) jellyfin | 2025-01-24T08:57:44.384224414Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.384227692Z at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384231223Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384234863Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.384238192Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384251268Z at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384254984Z at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384258452Z at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) jellyfin | 2025-01-24T08:57:44.384262728Z at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384266318Z at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384269842Z at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384273273Z at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384276797Z at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384280274Z at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384283965Z at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384287685Z at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) jellyfin | 2025-01-24T08:57:44.384291475Z at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.384295096Z at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure) jellyfin | 2025-01-24T08:57:44.384298559Z at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext() jellyfin | 2025-01-24T08:57:44.387802268Z [08:57:44] [WRN] [10] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3254034.jpg jellyfin | 2025-01-24T08:57:44.387823316Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. jellyfin | 2025-01-24T08:57:44.387828074Z ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. jellyfin | 2025-01-24T08:57:44.387832060Z ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL. jellyfin | 2025-01-24T08:57:44.387835612Z ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure jellyfin | 2025-01-24T08:57:44.387845464Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.387849122Z at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount) jellyfin | 2025-01-24T08:57:44.387852815Z at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions) jellyfin | 2025-01-24T08:57:44.387856666Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.387859993Z at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387863812Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387867518Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.387870889Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387874529Z at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387877944Z at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387881587Z at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) jellyfin | 2025-01-24T08:57:44.387885894Z at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387889452Z at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387892986Z at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387896466Z at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387899943Z at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387903436Z at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387907255Z at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387911038Z at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) jellyfin | 2025-01-24T08:57:44.387918438Z at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.387922115Z at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure) jellyfin | 2025-01-24T08:57:44.387925587Z at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext() jellyfin | 2025-01-24T08:57:44.395403087Z [08:57:44] [WRN] [10] Jellyfin.LiveTv.Guide.GuideManager: Unable to pre-cache https://orangetv.orange.es/pc/api/rtv/v1/images/epg/COVER_PROMO/COVER_PROMO_3254182.jpg jellyfin | 2025-01-24T08:57:44.395424832Z System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. jellyfin | 2025-01-24T08:57:44.395429350Z ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. jellyfin | 2025-01-24T08:57:44.395433263Z ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL. jellyfin | 2025-01-24T08:57:44.395436850Z ---> Interop+Crypto+OpenSslCryptographicException: error:0A000410:SSL routines::sslv3 alert handshake failure jellyfin | 2025-01-24T08:57:44.395440698Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.395444071Z at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount) jellyfin | 2025-01-24T08:57:44.395447742Z at System.Net.Security.SslStreamPal.HandshakeInternal(SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions) jellyfin | 2025-01-24T08:57:44.395451457Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.395454726Z at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395458299Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395461836Z --- End of inner exception stack trace --- jellyfin | 2025-01-24T08:57:44.395465243Z at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395468888Z at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395472281Z at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395475715Z at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) jellyfin | 2025-01-24T08:57:44.395480165Z at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395483777Z at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395534901Z at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395540183Z at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395543802Z at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395547256Z at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395568920Z at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395572930Z at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) jellyfin | 2025-01-24T08:57:44.395576782Z at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken) jellyfin | 2025-01-24T08:57:44.395580287Z at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure) jellyfin | 2025-01-24T08:57:44.395583751Z at Jellyfin.LiveTv.Guide.GuideManager.<>c__DisplayClass24_0.<<PreCacheImages>b__2>d.MoveNext() ``` ### FFmpeg logs ```shell Not related to ffmpeg, but please correct me if I am wrong. ``` ### Client / Browser logs Irrelevant ### Relevant screenshots or videos A few examples: ![Image](https://github.com/user-attachments/assets/2970e9aa-4ace-4a0e-a326-40194e6d0a6c) ![Image](https://github.com/user-attachments/assets/df34e156-ef76-4f11-bf54-b85030ed7979) ### Additional information _No response_
OVERLORD added the bugstale labels 2026-02-07 03:58:31 +03:00
Author
Owner

@jellyfin-bot commented on GitHub (May 25, 2025):

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 commented on GitHub (May 25, 2025): 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](https://jellyfin.org/contact).
Author
Owner

@pabsi commented on GitHub (May 26, 2025):

Do not close.

@pabsi commented on GitHub (May 26, 2025): Do not close.
Author
Owner

@jellyfin-bot commented on GitHub (Sep 25, 2025):

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 commented on GitHub (Sep 25, 2025): 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](https://jellyfin.org/contact).
Author
Owner

@jellyfin-bot commented on GitHub (Oct 16, 2025):

This issue was closed due to inactivity.

@jellyfin-bot commented on GitHub (Oct 16, 2025): This issue was closed due to inactivity.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#6676