ddclient: Daemon hangs forever if connection to checkip.dyndns.org hangs

Bug #928277 reported by Stefano Rivera
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ddclient (Debian)
Fix Released
Unknown
ddclient (Ubuntu)
Fix Released
Undecided
Unassigned
Lucid
Fix Released
Medium
Unassigned

Bug Description

[SRU Notes]
I originally ran into this bug on lucid, tested the proposed patch, and when I found it worked well for me, NMUed it in Debian. It's now been merged into precise, and I'd like to SRU it into lucid.
The issue isn't easily reproducable.

== Test Procedure ==
None: It's an intermittent problem, caused by intermittent connectivity outages (exactly the environment that ddclient is supposed to work in)

We can check that ddclient still works, though :)

[Original bug]:
Imported from Debian bug http://bugs.debian.org/600054:

Package: ddclient
Version: 3.7.3-4.2
Severity: important

I've been using ddclient(8) for about 1.5 years, and it's been working fine, to the extent that I haven't had to pay it any attention.

Until 2 weeks ago.

I hadn't been able to connect to my internal network from the "outside world" for over a week, and I finally found enough time to check into it tonight. The problem is that my DynDns.org dynamic DNS hostname had not been updated to my current IP address (on my DSL connection from BellSouth/AT&T), so connect attempts at the "stale" address were, of course, failing.

I'm guessing that the connection to checkip.dyndns.org hung for some reason, but ddclient appears that it never timed out.

System uptime:
 # w
  02:29:43 up 39 days, 4:00, 4 users, load average: 0.35, 0.09, 0.02

Current date/time:
 # date
 Wed Oct 13 02:34:03 EDT 2010

Timestamp on cache file:
 # ls -ld /var/cache/ddclient/ddclient.cache
 -rw------- 1 root root 274 Sep 29 05:23 /var/cache/ddclient/ddclient.cache

Status of process:
 # ps ax | grep -i ddclient
  2480 ? S 7:29 ddclient - reading from checkip.dyndns.org port 80

Any attempt at network communication should have a time-out limit.

A failed/hung socket connection should NOT cause the daemon to hang indefinitely. That's unacceptable behavior for a daemon process (all daemons are pretty much presumed to be capable of running unattended, pretty much indefinitely).

-- System Information:
Debian Release: 5.0.6
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash

Versions of packages ddclient depends on:
ii debconf [debconf-2.0] 1.5.24 Debian configuration management sy
ii initscripts 2.86.ds1-61 Scripts for initializing and shutt
ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip
ii perl [perl5] 5.10.0-19lenny2 Larry Wall's Practical Extraction

Versions of packages ddclient recommends:
ii libio-socket-ssl-perl 1.16-1+lenny1 Perl module implementing object or

ddclient suggests no packages.

-- debconf information:
* ddclient/run_daemon: true
* ddclient/interface: eth0
* ddclient/protocol: dyndns2
* ddclient/run_ipup: false
* ddclient/username: tgi
  ddclient/newconfigfmt:
* ddclient/names: tgi.dyndns.org
  ddclient/modifiedconfig:
* ddclient/server: members.dyndns.org
* ddclient/daemon_interval: 5m
* ddclient/service: www.dyndns.org

Changed in ddclient (Ubuntu):
status: New → Fix Released
description: updated
Changed in ddclient (Ubuntu Lucid):
importance: Undecided → Medium
Revision history for this message
Stefano Rivera (stefanor) wrote :
Changed in ddclient (Ubuntu Lucid):
status: New → Fix Committed
Changed in ddclient (Debian):
importance: Undecided → Unknown
status: New → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello Stefano, or anyone else affected,

Accepted ddclient into lucid-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Stefano Rivera (stefanor) wrote :

Looking good so far. I'll keep an eye on the machine running it...

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ddclient - 3.8.0-9ubuntu2.1

---------------
ddclient (3.8.0-9ubuntu2.1) lucid-proposed; urgency=low

  * checkip-hang.diff: Cherry-pick upstream patch to prevent hang if IP
    address check blocks. LP: #928277
 -- Stefano Rivera <email address hidden> Tue, 07 Feb 2012 16:43:40 +0200

Changed in ddclient (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.