Bug#889144: stricter PIDfile handling breaks several daemons

Sven Hartge sven at svenhartge.de
Fri Feb 2 13:58:51 GMT 2018


Package: systemd
Version: 237-1
Severity: important
Tags: upstream

Hi!

The upstream commit db256aab13d8a89d583ecd2bacf0aca87c66effc "core: be 
stricter when handling PID files and MAINPID sd_notify() messages"
breaks several daemons in Debian.

Known issues exist for

  - munin-node https://bugs.debian.org/889073
  - ulogd2
  - dnsmasq https://lists.debian.org/debian-user/2018/01/msg01331.html

and possibly others.

Symptom is a timeout during service start, constant service restarts (if
configured) and log messages like:

Feb  2 14:22:49 HOST systemd[1]: ulogd2.service: Permission denied while opening PID file or unsafe symlink chain: /run/ulog/ulogd.pid
Feb  2 14:23:54 HOST systemd[1]: munin-node.service: Permission denied while opening PID file or unsafe symlink chain: /run/munin/munin-node.pid

Problem lies, as far as I understand the change, in the permissions of
the directory in which the PIDfile is created by the daemon. In all
cases it does not belong root:root but the respective service user:

HOST:/run# ls -ld ulog munin
drwxr-xr-x 2 munin root 100 Feb  2 14:50 munin
drwxr-xr-x 2 ulog  ulog  40 Feb  2 14:24 ulog

My quick'n'dirty workaround for munin was to change the PIDfile path to
just "/run" in both the systemd unit and the configuration file and for
ulogd2 I converted the unit from Type=forking to Type=simple, omitting
the PIDfile completely.

But this can only be a workaround in my opinion, because the upstream
change changes an assumption on how and where PIDfiles can work without
any prior notice. This needs to be changed to a non-fatal warning and
not an error, IMHO.

Grüße,
Sven.

-- Package-specific info:

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'testing'), (200, 'experimental'), (1, 'experimental-debug')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages systemd depends on:
ii  adduser          3.116
ii  libacl1          2.2.52-3+b1
ii  libapparmor1     2.12-2
ii  libaudit1        1:2.8.2-1
ii  libblkid1        2.30.2-0.3
ii  libc6            2.26-6
ii  libcap2          1:2.25-1.2
ii  libcryptsetup12  2:2.0.0-1
ii  libgcrypt20      1.8.1-4
ii  libgpg-error0    1.27-5
ii  libidn11         1.33-2.1
ii  libip4tc0        1.6.1-2+b1
ii  libkmod2         25-1
ii  liblz4-1         0.0~r131-2+b1
ii  liblzma5         5.2.2-1.3
ii  libmount1        2.30.2-0.3
ii  libpam0g         1.1.8-3.6
ii  libseccomp2      2.3.1-2.1
ii  libselinux1      2.7-2
ii  libsystemd0      237-1
ii  mount            2.30.2-0.3
ii  procps           2:3.3.12-3
ii  util-linux       2.30.2-0.3

Versions of packages systemd recommends:
ii  dbus            1.12.2-1
ii  libpam-systemd  237-1

Versions of packages systemd suggests:
ii  policykit-1        0.105-18
pn  systemd-container  <none>

Versions of packages systemd is related to:
pn  dracut           <none>
ii  initramfs-tools  0.130
ii  udev             237-1

-- Configuration Files:
/etc/systemd/journald.conf changed [not included]
/etc/systemd/logind.conf changed [not included]
/etc/systemd/system.conf changed [not included]

-- debconf-show failed


More information about the Pkg-systemd-maintainers mailing list