Package: systemd Version: 232-25+deb9u11 Severity: normal Dear Maintainer,
during a more complicated setup of different services we found something odd when starting single branches. Minimal setup to reproduce: Service 0 is the root service (Wants services 1, 2, 3) Services 1, 2 and 3 are services that depend on service 0 (Requires) and will start after service 0 Service 1 wants service 10 Service 10 depends on service 1 (Requires) and starts after service 1. Starting service 0 will start all services up as expected. Stopping service 0 will stop all services accordingly. Everything works fine so far. Now stop all services except service 0. Then start service 1. It will start up, with service 10 after it. Services 2 and 3 will stay down. This is expected behavior. Once again stop all services except service 0, and then start service 2. One would now expect two running services: service 0 and service 2. But you will find that service 1 was also started, as well as its child service 10. Only service 3 remains down. You may as well try starting service 3 instead of service 2, which will yield a similar result, i. e. only service 2 stays down; services 1 and 10 will be up again. We tried that on SLES 12.4 as well as Debian Buster, this behavior sticks through all versions and is consistent throughout our 20+ services setup: All branches with further branches down the line are getting started, all dead-end branches will remain down. It doesn't really break anything on our end, it's just unexpected. My proposal: Unless the root service is (re-) started, don't propagate through its 'Wants' statements (I expect the error there). Only start up the affected services and their wanted children. -- Package-specific info: -- System Information: Debian Release: 9.9 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-9-amd64 (SMP w/8 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de_DE.UTF-8 (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.115 ii libacl1 2.2.52-3+b1 ii libapparmor1 2.11.0-3+deb9u2 ii libaudit1 1:2.6.7-2 ii libblkid1 2.29.2-1+deb9u1 ii libc6 2.24-11+deb9u4 ii libcap2 1:2.25-1 ii libcryptsetup4 2:1.7.3-4 ii libgcrypt20 1.7.6-2+deb9u3 ii libgpg-error0 1.26-2 ii libidn11 1.33-1 ii libip4tc0 1.6.0+snapshot20161117-6 ii libkmod2 23-2 ii liblz4-1 0.0~r131-2+b1 ii liblzma5 5.2.2-1.2+b1 ii libmount1 2.29.2-1+deb9u1 ii libpam0g 1.1.8-3.6 ii libseccomp2 2.3.1-2.1+deb9u1 ii libselinux1 2.6-3+b3 ii libsystemd0 232-25+deb9u11 ii mount 2.29.2-1+deb9u1 ii procps 2:3.3.12-3+deb9u1 ii util-linux 2.29.2-1+deb9u1 Versions of packages systemd recommends: ii dbus 1.10.26-0+deb9u1 ii libpam-systemd 232-25+deb9u11 Versions of packages systemd suggests: ii policykit-1 0.105-18+deb9u1 pn systemd-container <none> pn systemd-ui <none> Versions of packages systemd is related to: pn dracut <none> ii initramfs-tools 0.130 ii udev 232-25+deb9u11 -- Configuration Files: /etc/systemd/timesyncd.conf changed [not included] -- no debconf information