[Bug 1246245] Re: proftpd service failed to restart

danb1974 1246245 at bugs.launchpad.net
Mon Apr 20 07:08:05 UTC 2015


Seems it's not that simple to do a proper fix, since the same signal()
function is used for stop (TERM) and reload (HUP)

If you just add --retry to the first call to start-stop-daemon you will
break reload, since proftpd will be killed (--retry changes the
behaviour, now it's mission is to terminate the process, sending a
TERM/KILL schedule until pid file is gone)

Looks like the clean approach would be to separate stop and reload and
get rid of all the if/then/else dance and cascaded start-stop-daemon
calls

-- 
You received this bug notification because you are a member of ProFTPD
Maintainance Team, which is subscribed to proftpd-dfsg in Ubuntu.
https://bugs.launchpad.net/bugs/1246245

Title:
  proftpd service failed to restart

Status in proftpd-dfsg package in Ubuntu:
  Confirmed

Bug description:
  proftpd-basic 1.3.5~rc3-2 from Ubuntu 13.10
  proftpd-basic 1.3.5~rc3-2.1ubuntu2 from Ubuntu 14.04

  Init script from proftpd-basic package contains the BUG: when you run
  /etc/init.d/proftpd restart it fails because of there is the race
  between pidfile removal and start() which checks pidfile existency:

  ---
  ProFTPD is started in standalone mode, currently running.
  root at aa:~# /etc/init.d/proftpd restart
   * Stopping ftp server proftpd                                                                                                                                                                             [ OK ]
   * Starting ftp server proftpd                                                                                                                                                                             [ OK ]
  root at aa:~# /etc/init.d/proftpd status
  ProFTPD is started in standalone mode, currently not running.
  ---

  the next workaround helps:

  ---
  --- /etc/init.d/proftpd.orig    2013-10-30 13:52:46.791265726 +0400
  +++ /etc/init.d/proftpd 2013-10-30 13:52:57.456265698 +0400
  @@ -107,6 +107,7 @@
       fi
       if [ -f "$PIDFILE" ]; then
          start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
  +       sleep 1
           if [ $? = 0 ]; then
                  log_end_msg 0
          else
  ---

  Please, fix.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/proftpd-dfsg/+bug/1246245/+subscriptions



More information about the Pkg-proftpd-maintainers mailing list