linuxserver / docker-radarr

GNU General Public License v3.0
640 stars 103 forks source link

4.1.0.6175 unable to communicate with other apps (cannot resolve local names?) #175

Closed ShanDestromp closed 1 year ago

ShanDestromp commented 2 years ago

Had an instance running/updating for months, talking with associated local (same machine / docker instance) images fine. Updated to latest image and now Radarr can't communicate with images as expected. It can communicate externally (eg searching a new movie works as expected, I see posters and synopsis ) but fails with internal hostname-based addresses. If I change to the docker/portainer(?) provided IP of the stack (ex 172.19.0.1) it works again. To be clear nothing has changed with my network / portainer / docker otherwise, the Radarr image was the only thing updated; and Sonarr (for ex) is currently still working with same type of setup fine.


Expected Behavior

Radarr to talk to Prowlarr, NZBGet etc via hostname as it has for months.

Current Behavior

"Name does not resolve" errors

Steps to Reproduce

  1. Update previously working instance to 4.1.0.6175
  2. Radarr now doesn't work

Environment

OS: dock@spacedock:~$ uname -a Linux spacedock 4.19.0-19-amd64 #1 SMP Debian 4.19.232-1 (2022-03-07) x86_64 GNU/Linux

CPU architecture: x86_64 How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

Run via portainer, updated with Watchtower overnight

Docker logs

https://pastebin.com/ZDhpwVVM

github-actions[bot] commented 2 years ago

Thanks for opening your first issue here! Be sure to follow the bug or feature issue templates!

SourCheeks commented 2 years ago

I have the same issue, rolling back to 4.0.5.5981 fixes it for me

ShanDestromp commented 2 years ago

@SourCheeks I manually shell'd into the container with docker exec -it ContainerName /bin/bash and edited my /etc/hosts file (just echo IP Hostname >> /etc/hosts adds to the end of the file) to include a manual routing to the pertinent hostname. I had to add the universal troubleshooting mods to the container in order to have access to ping and the like for testing purposes but isn't otherwise necessary (add DOCKER_MODS: linuxserver/mods:universal-tshoot to the environment section of the radarr portion of your stack config if you want it).

This gets me a working latest version, the downside is this change gets nuked anytime the container restarts. I'm sure I could script something up to redo it on container restart but that's straying further from source than I'd like. Hopefully a proper fix happens sooner rather than later.

gil commented 2 years ago

+1 here, not sure what is going on.

j0nnymoe commented 2 years ago

@gil +1 is not helpful. Please provide information like the OP.

@ShanDestromp Please provide the compose info you used to deploy the container or if you have used portainer's gui for deploying, some screenshots would be nice.

We've had no other reports of this issue so maybe portainer and/or watchtower are doing something.

Fwiw - we do not recommend using portainer for deployment of our containers nor do we recommend using watchtower for updating.

vilgotf commented 2 years ago

I hit this with podman 4.1.0 (rootless). No real interesting config (just -v PUID etc.). Worked around by hardcoding IP addresses instead of my hostname for indexers and download clients

j0nnymoe commented 2 years ago

@vilgotf I appreciate you think there is no real interesting config, but any information you can give us makes it 100x more easier to help try and diagnose these issues. We don't ask for this information for no reason.

gil commented 2 years ago

@j0nnymoe I'm sorry, some more info:

Expected Behavior

Radarr to talk to Deluge and Jackett.

Current Behavior

"Name does not resolve" errors

Steps to Reproduce

Environment:

How docker service was installed:

Synology DSM official Docker package.

Command used to create docker container (run/create/compose/screenshot)

docker-compose.yml:

  radarr:
    image: lscr.io/linuxserver/radarr
    container_name: radarr
    environment:
      - PUID=1030
      - PGID=100
      - TZ=Europe/Amsterdam
    volumes:
      - /volume1/homes/gil/docker-data/radarr/config:/config
      - /volume1/downloads:/downloads
    ports:
      - "7878:7878"
    restart: unless-stopped
  jackett:
    image: lscr.io/linuxserver/jackett
    container_name: jackett
    environment:
      - PUID=1030
      - PGID=100
      - TZ=Europe/Amsterdam
      - AUTO_UPDATE=true
    volumes:
      - /volume1/homes/gil/docker-data/jackett/config:/config
      - /volume1/homes/gil/docker-data/jackett/downloads:/downloads
    ports:
      - "9117:9117"
    restart: unless-stopped

Deluge is not running on Docker. I always used my NAS' hostname for them to communicate, so there's no network configured on Docker for that.

Docker logs

Will update here after I upgrade to 4.1.0.6175 again. I reverted to the tag version-4.0.5.5981 for now.

ShanDestromp commented 2 years ago

@j0nnymoe below is my full compose file.

gil +1 is not helpful. Please provide information like the OP.

We've had no other reports of this issue

You've got two others in this bug report alone; that until today was ignored.

so maybe portainer and/or watchtower are doing something.

Watchtower simply checks for new builds and pulls and restarts containers on a schedule. It doesn't interact with them otherwise, and if there isn't an updated docker build it ignores them.

Fwiw - we do not recommend using portainer for deployment of our containers nor do we recommend using watchtower for updating.

Maybe you have time to hand-manage and update 25+ containers but I don't; so I'll use the tools available to me.

TO BE EXPLICITLY CLEAR the only thing that changed in my setup was updating radarr to *.6175. I had not modified my compose file, made any changes to the base system nor my network setup. Sonarr, Prowlarr etc are all operating normally, only Radarr is having issues.

services:
# Transmission client
  transmission:
    container_name: transmission
    environment:
      PGID: '1001'
      PUID: '1000'
      TZ: America/New_York
    image: ghcr.io/linuxserver/transmission
    logging:
      options:
        max-size: 10m
    ports:
    - published: 9091
      target: 9091
    - published: 51413
      target: 51413
    - protocol: udp
      published: 51413
      target: 51413
    restart: unless-stopped
    volumes:
    - /home/dock/config/transmission:/config:rw
    - Incoming:/downloads:rw

# Usenet downloader
  nzbget:
    container_name: nzbget
    environment:
      PGID: '1001'
      PUID: '1000'
      TZ: America/New_York
    image: ghcr.io/linuxserver/nzbget
    logging:
      options:
        max-size: 10m
    ports:
    - published: 6789
      target: 6789
    restart: unless-stopped
    volumes:
    - /home/dock/config/nzbget:/config:rw
    - Incoming:/downloads:rw

# Prowlarr indexer aggregator
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:develop
    container_name: prowlarr
    environment:
      TZ: America/New_York
      PGID: '1001'
      PUID: '1000'
    volumes:
      - /home/dock/config/prowlarr:/config
    ports:
      - 9696:9696
    restart: unless-stopped

# Movie management
  radarr:
    container_name: radarr
    environment:
      PGID: '1001'
      PUID: '1000'
      TZ: America/New_York
      UMASK: '002'
    image: ghcr.io/linuxserver/radarr
    logging:
      options:
        max-size: 10m
    ports:
    - published: 7878
      target: 7878
    restart: unless-stopped
    volumes:
    - /home/dock/config/radarr:/config:rw
    - Incoming:/downloads:rw
    - Movies:/movies:rw

# TV management
  sonarr:
    container_name: sonarr
    environment:
      PGID: '1001'
      PUID: '1000'
      TZ: America/New_York
      UMASK: '002'
    image: ghcr.io/linuxserver/sonarr
    logging:
      options:
        max-size: 10m
    ports:
    - published: 8989
      target: 8989
    restart: unless-stopped
    volumes:
    - TV:/TV:rw
    - /home/dock/config/sonarr:/config:rw
    - Incoming:/downloads:rw
    - 
# Bazarr subtitle downloader / manager
  bazarr:
    image: lscr.io/linuxserver/bazarr
    container_name: bazarr
    environment:
      PUID: 1000
      PGID: 1000
      TZ: America/New_York
    volumes:
      - /home/dock/config/bazarr:/config
      - Movies:/movies:rw
      - TV:/TV:rw
      - Incoming:/downloads:rw
    ports:
      - 6767:6767
    restart: unless-stopped

volumes:
# Radarr
  Movies:
    driver: local
    driver_opts:
      device: :/mnt/tardis/Media/Movies
      o: addr=192.168.1.2
      type: nfs

# Sonarr
  TV:
    driver: local
    driver_opts:
      device: :/mnt/tardis/Media/TV
      o: addr=192.168.1.2
      type: nfs

# Shared source directory for *rr
  Incoming:
    driver: local
    driver_opts:
      device: :/mnt/tardis/dalek/incoming
      o: addr=192.168.1.2
      type: nfs
github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

vilgotf commented 1 year ago

This is resolved for me running 4.2.4.6635

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

gijoe88 commented 1 year ago

The issue does not seem to come from the linuxserver image, but from alpine one. Using ghcr.io/linuxserver/baseimage-alpine:3.12 as base image, instead of 3.15, it now works on my side.

Link https://github.com/dotnet/dotnet-docker/issues/2688 was the clue.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stisko commented 1 year ago

I have also the same issue, even with the latest version. I try to connect to qbitTorrent and also my indexers, without luck. "Name does not resolve " My hostname is raspberrypi.station. Please mind that Sonarr works OK with the same hostname to access qBitTorrent _Radarr_logs.txt

Please find atatched the radarr logs. If anything else is needed please ask it

randrej commented 1 year ago

Yeah, we need to complain on the Alpine Linux bug tracker, this is an issue w/ Alpine since 3.13.

stisko commented 1 year ago

So, @randrej , which version is OK in order to roll back to it?

randrej commented 1 year ago

@stisko I'm not sure, but if you roll back the base image to ghcr.io/linuxserver/baseimage-alpine:3.12 in this dockerfile, build it and then use it, it works .

gijoe88 commented 1 year ago

Or, @stisko, if you do not want or know how to build your own docker image, based on alpine:3.12 instead of alpine:3.15, maybe you could use the preceding version of linuxserver/docker-radarr, the version 4.0.5.5981. But before doing this, backup the data you have on the volume /path/to/data:/config.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

randrej commented 1 year ago

This is not stale, the issue is still there

qbunt commented 1 year ago

I don't know if this would help anyone else, but removing the old download client and adding it again with the same api key, but with the hostname worked for me. If you try to reconfigure an existing connection with hostname, it absolutely does not work and is refused immediately. Same behavior for me on both sonarr & radarr

benjaminpieplow commented 1 year ago

Log event (radarr):

[v4.3.2.6857] System.Net.Http.HttpRequestException: Name does not resolve (prowlarr:80)
 ---> System.Net.Sockets.SocketException (0xFFFDFFFF): Name does not resolve
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
   at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.attemptConnection(AddressFamily addressFamily, SocketsHttpConnectionContext context, CancellationToken cancellationToken) in D:\a\1\s\src\NzbDrone.Common\Http\Dispatchers\ManagedHttpDispatcher.cs:line 296
   at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.onConnect(SocketsHttpConnectionContext context, CancellationToken cancellationToken) in D:\a\1\s\src\NzbDrone.Common\Http\Dispatchers\ManagedHttpDispatcher.cs:line 272
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellation(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.AuthenticationHelper.SendWithAuthAsync(HttpRequestMessage request, Uri authUri, Boolean async, ICredentials credentials, Boolean preAuthenticate, Boolean isProxyAuth, Boolean doRequestAuth, HttpConnectionPool pool, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.GetResponse(HttpRequest request, CookieContainer cookies) in D:\a\1\s\src\NzbDrone.Common\Http\Dispatchers\ManagedHttpDispatcher.cs:line 101
   at NzbDrone.Common.Http.HttpClient.ExecuteRequest(HttpRequest request, CookieContainer cookieContainer) in D:\a\1\s\src\NzbDrone.Common\Http\HttpClient.cs:line 124
   at NzbDrone.Common.Http.HttpClient.Execute(HttpRequest request) in D:\a\1\s\src\NzbDrone.Common\Http\HttpClient.cs:line 59
   at NzbDrone.Core.Download.TorrentClientBase`1.DownloadFromWebUrl(RemoteMovie remoteMovie, String torrentUrl) in D:\a\1\s\src\NzbDrone.Core\Download\TorrentClientBase.cs:line 136
   at NzbDrone.Core.Download.TorrentClientBase`1.Download(RemoteMovie remoteMovie) in D:\a\1\s\src\NzbDrone.Core\Download\TorrentClientBase.cs:line 118
   at NzbDrone.Core.Download.DownloadService.DownloadReport(RemoteMovie remoteMovie) in D:\a\1\s\src\NzbDrone.Core\Download\DownloadService.cs:line 73
   at NzbDrone.Core.Download.ProcessDownloadDecisions.ProcessDecisions(List`1 decisions) in D:\a\1\s\src\NzbDrone.Core\Download\ProcessDownloadDecisions.cs:line 76

The same thing happens in sonarr:

2023-03-19 14:34:20.2|Error|Deluge|Downloading torrent file for episode '(removed)' failed (http://prowlarr/prowlarr/2/download?apikey=(removed)&link=(removed)&file=(removed))

[v3.0.10.1567] System.Net.WebException: DNS Name Resolution Failure: 'prowlarr'
  at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.GetResponse (NzbDrone.Common.Http.HttpRequest request, System.Net.CookieContainer cookies) [0x0015a] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\Dispatchers\ManagedHttpDispatcher.cs:95 
  at NzbDrone.Common.Http.HttpClient.ExecuteRequest (NzbDrone.Common.Http.HttpRequest request, System.Net.CookieContainer cookieContainer) [0x00086] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\HttpClient.cs:126 
  at NzbDrone.Common.Http.HttpClient.Execute (NzbDrone.Common.Http.HttpRequest request) [0x00008] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\HttpClient.cs:59 
  at NzbDrone.Common.Http.HttpClient.Get (NzbDrone.Common.Http.HttpRequest request) [0x00007] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\HttpClient.cs:281 
  at NzbDrone.Core.Download.TorrentClientBase`1[TSettings].DownloadFromWebUrl (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode, System.String torrentUrl) [0x0004c] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Download\TorrentClientBase.cs:135 

2023-03-19 14:34:20.6|Error|ReleaseModule|Downloading torrent failed

[v3.0.10.1567] NzbDrone.Core.Exceptions.ReleaseDownloadException: Downloading torrent failed ---> System.Net.WebException: DNS Name Resolution Failure: 'prowlarr'
  at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.GetResponse (NzbDrone.Common.Http.HttpRequest request, System.Net.CookieContainer cookies) [0x0015a] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\Dispatchers\ManagedHttpDispatcher.cs:95 
  at NzbDrone.Common.Http.HttpClient.ExecuteRequest (NzbDrone.Common.Http.HttpRequest request, System.Net.CookieContainer cookieContainer) [0x00086] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\HttpClient.cs:126 
  at NzbDrone.Common.Http.HttpClient.Execute (NzbDrone.Common.Http.HttpRequest request) [0x00008] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\HttpClient.cs:59 
  at NzbDrone.Common.Http.HttpClient.Get (NzbDrone.Common.Http.HttpRequest request) [0x00007] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Http\HttpClient.cs:281 
  at NzbDrone.Core.Download.TorrentClientBase`1[TSettings].DownloadFromWebUrl (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode, System.String torrentUrl) [0x0004c] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Download\TorrentClientBase.cs:135 
   --- End of inner exception stack trace ---
  at NzbDrone.Core.Download.TorrentClientBase`1[TSettings].DownloadFromWebUrl (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode, System.String torrentUrl) [0x001f4] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Download\TorrentClientBase.cs:185 
  at NzbDrone.Core.Download.TorrentClientBase`1[TSettings].Download (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode) [0x00148] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Download\TorrentClientBase.cs:117 
  at NzbDrone.Core.Download.DownloadService.DownloadReport (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode) [0x00271] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Download\DownloadService.cs:99 
  at Sonarr.Api.V3.Indexers.ReleaseModule.DownloadRelease (Sonarr.Api.V3.Indexers.ReleaseResource release) [0x001a7] in C:\BuildAgent\work\63739567f01dbcc2\src\Sonarr.Api.V3\Indexers\ReleaseModule.cs:129 

It appears that, instead of calling prowlarr at the desired location (for me, http://localhost/prowlarr/) radarr and sonarr are looking for http://prowlarr/prowlarr, hence the error "prowlarr:80". This setting is not exposed in the GUI; I suspect the code is incorrectly storing the prowlarr host in remoteMovie.Release.DownloadUrl. The closest I could come is with the sonarr stack trace, leading to the TorrentClientBase file, torrentUrl = remoteEpisode.Release.DownloadUrl the structure for which is defined in ReleaseResource. I could not find where that value gets set - it's possible that it is handed back incorrectly by prowlarr itself. Unfortunately I don't have the tools or skills to troubleshoot further.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 1 year ago

This issue is locked due to inactivity