it seems like in addition to the softstart issue, the init script is in
need of some attention?

it runs start-stop-daemon to check the config and start the process, but
both commands are or'd with a return 1 or return 2.  the check to handle
exit status 78 can never happen, because the only way it will continue
in that function is if the exit status for both start-stop-daemon
commands is 0.

then, regardless of any of that, the script exits 0 no matter what, so
systemd never knows something didn't go right.  it's left thinking the
service is running, but it's not.  when the init script is changed to
exit with the exit status of dkim, then systemd knows what's going on
and handles the outcome as expected.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1452538

Title:
  opendkim does not start properly when ldap server can't be contacted

Status in systemd package in Ubuntu:
  New

Bug description:
  when starting opendkim, if ldap is in use and the server cannot be
  contacted, opendkim gets stuck in a state where the system appears to
  think it has started, but is not actually running:

  >systemctl -l status opendkim
  ● opendkim.service - LSB: Start the OpenDKIM service
     Loaded: loaded (/etc/init.d/opendkim)
     Active: active (exited) since Wed 2015-05-06 23:16:20 EDT; 1min 24s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 589 ExecStart=/etc/init.d/opendkim start (code=exited, 
status=0/SUCCESS)

  May 06 23:16:19 server systemd[1]: Starting LSB: Start the OpenDKIM service...
  May 06 23:16:20 server opendkim[589]: Starting OpenDKIM: opendkim: 
/etc/opendkim/opendkim.conf: 
ldap://dsa.example.com/ou=domains,ou=mail,dc=example,dc=com?host?sub?(host=$d): 
dkimf_db_open(): Can't contact LDAP server
  May 06 23:16:20 server opendkim[589]: opendkim.
  May 06 23:16:20 server systemd[1]: Started LSB: Start the OpenDKIM service.

  >ps -aefwww | grep -iF dkim
  root       858   815  0 23:18 pts/0    00:00:00 grep -iF dkim

  additional attempts to start opendkim don't indicate failure, but also
  don't work:

  >systemctl start opendkim
  >

  >ps -aefwww | grep -iF dkim
  root       863   815  0 23:19 pts/0    00:00:00 grep -iF dkim

  additionally, as can be seen in the above systemctl status output,
  systemd appears to think that opendkim has started successfully, but
  when testing manually, it does not:

  >/usr/sbin/opendkim -x /etc/opendkim/opendkim.conf -u opendkim -P 
/var/run/opendkim/opendkim.pid
  opendkim: /etc/opendkim/opendkim.conf: 
ldap://dsa.example.com/ou=domains,ou=mail,dc=example,dc=com?host?sub?(host=$d): 
dkimf_db_open(): Can't contact LDAP server

  >echo $?
  78

  lastly, stopping opendkim [even though it's not really running] and
  then starting it again then results in it actually running:

  >systemctl stop opendkim

  >systemctl start opendkim

  >ps -aefwww | grep -iF opendkim
  opendkim  1105     1  0 23:24 ?        00:00:00 /usr/sbin/opendkim -x 
/etc/opendkim/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid
  opendkim  1106  1105  0 23:24 ?        00:00:00 /usr/sbin/opendkim -x 
/etc/opendkim/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid
  root      1117   815  0 23:25 pts/0    00:00:00 grep -iF opendkim

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1452538/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to