bug: ddclient stuck in "curl could not connect to X" loop
kilrau opened this issue · 4 comments
Looks like the namecheaps dynamicdns endpoint was down for a moment and all my ddclient's got stuck in a curl could not connect to X
loop. I noticed because they failed to update my dynamic dns records when I had an actual change of IPs. ddclient should catch this and be able to exit the loop once the dynamic dns endpoint is reachable again.
Simple restart of the ddclient container fixed it and the records updated immediately.
WARNING: CURL error (6) Couldn't resolve host. The given remote host was not resolved.
WARNING: curl cannot connect to https://dynamicdns.park-your-domain.com using IPv0
WARNING: found neither IPv4 nor IPv6 address
WARNING: Could not determine an IP for @
WARNING: CURL error (6) Couldn't resolve host. The given remote host was not resolved.
WARNING: curl cannot connect to https://dynamicdns.park-your-domain.com using IPv0
WARNING: found neither IPv4 nor IPv6 address
WARNING: Could not determine an IP for @
[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────
██╗ ███████╗██╗ ██████╗
██║ ██╔════╝██║██╔═══██╗
██║ ███████╗██║██║ ██║
██║ ╚════██║██║██║ ██║
███████╗███████║██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═════╝
Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID: 1001
User GID: 1001
───────────────────────────────────────
[custom-init] No custom files found, skipping...
Setting up watches.
Watches established.
[ls.io-init] done.
SUCCESS: updating @: good: IP address set to X.X.X.X
Similar: #612
What version of ddclient?
Have you tried the latest release?
Have you tried the latest version of the master
branch?
What does ddclient output if you enable --debug
and --verbose
?
What are the (redacted) contents of your ddclient.conf
?
What version of ddclient?
latest release, v3.11.2
Have you tried the latest version of the master branch?
What does ddclient output if you enable --debug and --verbose?
I don't have a test setup to reproduce this. It only happens if a specific's service dyndns endpoint is not reachable in the moment ddclient tries to update. I can't bring namecheap offline right now, you'd have to reproduce this with a dev/test setup
What are the (redacted) contents of your ddclient.conf?
daemon=300
syslog=yes
pid=/var/run/ddclient/ddclient.pid
ssl=yes
use=web, web=dynamicdns.park-your-domain.com/getip
protocol=namecheap,
server=dynamicdns.park-your-domain.com,
login=REDACTED.DOMAIN,
password=REDACTED
@
Simple restart of the ddclient container fixed it and the records updated immediately.
Oh, you're using Docker. This looks like a container networking issue to me (e.g., failure in Docker's embedded DNS forwarder, firewall issue, etc.), not a ddclient bug. ddclient is invoking the curl executable to do an IP lookup, and curl is failing to resolve the hostname, so the problem is almost certainly outside of ddclient's control.
How long was it stuck in the loop before you restarted the container?
How frequent was the loop? If it was more frequent than every 5 minutes (your daemon=300
setting) then there is a ddclient bug somewhere, though it's probably not the root cause of this issue.
Not sure, I cross-posted the issue in the corresponding linuxserver repo (that's the image I'm running)