Comment 39 for bug 2055239

Revision history for this message
Nick Rosbrook (enr0n) wrote :

This issue can be seen with any actual unit after e.g. enabling or disabling a non-existent unit. For example,

root@n:~# systemctl status ssh.socket
● ssh.socket - OpenBSD Secure Shell server socket
     Loaded: loaded (/usr/lib/systemd/system/ssh.socket; enabled; preset: enabled)
     Active: active (listening) since Wed 2024-07-31 19:51:18 UTC; 5min ago
   Triggers: ● ssh.service
     Listen: [::]:22 (Stream)
     CGroup: /system.slice/ssh.socket

Jul 31 19:55:15 n systemd[1]: ssh.socket: Trying to enqueue job ssh.socket/start/replace
Jul 31 19:55:15 n systemd[1]: ssh.socket: Installed new job ssh.socket/start as 734
Jul 31 19:55:15 n systemd[1]: ssh.socket: Enqueued job ssh.socket/start as 734
Jul 31 19:55:15 n systemd[1]: ssh.socket: Job 734 ssh.socket/start finished, result=done
Jul 31 19:55:53 n systemd[1]: ssh.socket: Changed dead -> listening
Jul 31 19:56:05 n systemd[1]: ssh.socket: Trying to enqueue job ssh.socket/start/replace
Jul 31 19:56:05 n systemd[1]: ssh.socket: Installed new job ssh.socket/start as 825
Jul 31 19:56:05 n systemd[1]: ssh.socket: Enqueued job ssh.socket/start as 825
Jul 31 19:56:05 n systemd[1]: ssh.socket: Job 825 ssh.socket/start finished, result=done
Jul 31 19:56:20 n systemd[1]: ssh.socket: Changed dead -> listening

root@n:~# systemctl enable fdfldakfjdklfjdaljfa.service
Failed to enable unit: Unit file fdfldakfjdklfjdaljfa.service does not exist.

root@n:~# systemctl status ssh.socket
Warning: The unit file, source configuration file or drop-ins of ssh.socket changed on disk. Run 'systemctl daemon-reload' to reload units.
● ssh.socket - OpenBSD Secure Shell server socket
     Loaded: loaded (/usr/lib/systemd/system/ssh.socket; enabled; preset: enabled)
     Active: active (listening) since Wed 2024-07-31 19:51:18 UTC; 5min ago
   Triggers: ● ssh.service
     Listen: [::]:22 (Stream)
     CGroup: /system.slice/ssh.socket

Jul 31 19:55:15 n systemd[1]: ssh.socket: Trying to enqueue job ssh.socket/start/replace
Jul 31 19:55:15 n systemd[1]: ssh.socket: Installed new job ssh.socket/start as 734
Jul 31 19:55:15 n systemd[1]: ssh.socket: Enqueued job ssh.socket/start as 734
Jul 31 19:55:15 n systemd[1]: ssh.socket: Job 734 ssh.socket/start finished, result=done
Jul 31 19:55:53 n systemd[1]: ssh.socket: Changed dead -> listening
Jul 31 19:56:05 n systemd[1]: ssh.socket: Trying to enqueue job ssh.socket/start/replace
Jul 31 19:56:05 n systemd[1]: ssh.socket: Installed new job ssh.socket/start as 825
Jul 31 19:56:05 n systemd[1]: ssh.socket: Enqueued job ssh.socket/start as 825
Jul 31 19:56:05 n systemd[1]: ssh.socket: Job 825 ssh.socket/start finished, result=done
Jul 31 19:56:20 n systemd[1]: ssh.socket: Changed dead -> listening

I have tested [1] in a PPA build, and the issue goes away.

It may have already been pointed out, but the reason this is seen with apt-news.service and esm-cache.service specifically is because of the hook defined in /etc/apt/apt.conf.d/20apt-esm-hook.conf which starts these services. Besides that, there is nothing special about them which makes this bug appear.

[1] https://github.com/systemd/systemd/pull/32610/commits/d69cba3bfffc7b1e3197e2a34b459db13b1e1cb7