Package: ddclient
Version: 3.8.0-11.3
Severity: normal

Dear Maintainer,
*** Please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these lines ***

Noticed several instances of ddclient running, running "service ddclient stop"
didn't stop them, neither "killall ddclient", only "killall -r ddclient" worked.
Now, "service ddclient start" or restart would start duplicates.

It seems to be caused by the process name changed to "ddclient - sleeping ...".
Removing "--name" from test/stop cases of start-stop-daemon in /etc/init.d/
ddclient seesm to fix it.

Here are some logs:

$ ps -few | grep ddclient
root     28063 27778  0 18:05 pts/0    00:00:00 grep ddclient
$ service ddclient start
Starting Dynamic DNS service update utility: ddclient.
$ ps -few | grep ddclient
root     28072     1  0 18:05 pts/0    00:00:00 ddclient - sleeping for 300 
seconds
root     28081 27778  0 18:05 pts/0    00:00:00 grep ddclient
$ cat /var/run/ddclient.pid
28072
$ service ddclient stop
Stopping Dynamic DNS service update utility: ddclient.
$ ps -few | grep ddclient
root     28072     1  0 18:05 pts/0    00:00:00 ddclient - sleeping for 280 
seconds
root     28096 27778  0 18:06 pts/0    00:00:00 grep ddclient
$ cat /var/run/ddclient.pid
28072
$ service ddclient status
Status of Dynamic DNS service update utility: ddclient is running.
$ service ddclient start
Starting Dynamic DNS service update utility: ddclient.
$ ps -few | grep ddclient
root     28072     1  0 18:05 pts/0    00:00:00 ddclient - sleeping for 240 
seconds
root     28114     1  0 18:06 pts/0    00:00:00 ddclient - sleeping for 300 
seconds
root     28123 27778  0 18:06 pts/0    00:00:00 grep ddclient
$ cat /var/run/ddclient.pid
28114
$ killall -r ddclient
$ ps -few | grep ddclient
root     28127 27778  0 18:07 pts/0    00:00:00 grep ddclient
$ cat /var/run/ddclient.pid
cat: /var/run/ddclient.pid: No such file or directory

-- System Information:
Debian Release: wheezy/sid
  APT prefers stable
  APT policy: (500, 'stable'), (400, 'testing'), (300, 'unstable'), (200, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages ddclient depends on:
ii  debconf [debconf-2.0]  1.5.41       
ii  initscripts            2.88dsf-13.13
ii  lsb-base               3.2-28       
ii  perl [perl5]           5.14.2-6     

Versions of packages ddclient recommends:
ii  libio-socket-ssl-perl  1.49-1

ddclient suggests no packages.

-- Configuration Files:
/etc/init.d/ddclient changed:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME="ddclient"
DAEMON=/usr/sbin/$NAME
DESC="Dynamic DNS service update utility"
test -f $DAEMON || exit 0
run_daemon=false
daemon_interval=300
if [ -r /etc/default/ddclient ]; then
  . /etc/default/ddclient
fi
PIDFILE=/var/run/$NAME.pid
OPTIONS="-daemon $daemon_interval -syslog -pid $PIDFILE"
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start()
{
        if [ "$run_daemon" != "true" ]; then
                return 0
        fi
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        start-stop-daemon --test --start --quiet \
                --pidfile $PIDFILE --startas $DAEMON \
                >/dev/null \
                || return 1
        start-stop-daemon --start --quiet \
                --pidfile $PIDFILE --name $NAME --startas $DAEMON \
                -- $OPTIONS \
                || return 2
}
do_stop()
{
        if [ "$run_daemon" != "true" ]; then
                return 0
        fi
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --retry=TERM/30/KILL/5 \
                --pidfile $PIDFILE
        return "$?"
}
case "$1" in
  start)
        if [ "$run_daemon" != "true" ]; then
                log_warning_msg "To run ddclient as a daemon, please set 
run_daemon to 'true' in /etc/default/ddclient "
                log_end_msg 0
                exit 0
        fi
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  stop)
        if [ "$run_daemon" != "true" ]; then
                log_warning_msg "To run ddclient as a daemon, please set 
run_daemon to 'true' in /etc/default/ddclient "
                log_end_msg 0
                exit 0
        fi
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  status)
        echo -n "Status of $DESC: "
        if [ ! -r "$PIDFILE" ]; then
                echo "$NAME is not running."
                exit 3
        fi
        if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
                echo "$NAME is running."
                exit 0
        else
                echo "$NAME is not running but $PIDFILE exists."
                exit 1
        fi
        ;;
        
 
  restart|force-reload)
        if [ $run_daemon != "true" ]; then
                log_warning_msg "To run ddclient as a daemon, please set 
run_daemon to 'true' in /etc/default/ddclient "
                log_end_msg 0
                exit 0
        fi
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        log_success_msg "Usage: $N {start|stop|restart|force-reload}" 
        exit 1
        ;;
esac
exit 0


-- debconf information excluded



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to