[systemd-devel] systemd-notify

Josef Moellers jmoellers at suse.de
Thu Apr 18 12:21:09 UTC 2019


Hi,

We're currently working on a bug which afaict is due to a race condition:

1) systemd starts xenstored.service
2) /etc/xen/scripts/launch-xenstore does its work (starts
/usr/lib/xen/bin/init-xenstore-domain)
3) /etc/xen/scripts/launch-xenstore runs "systemd-notify --ready"
4) "systemd-notify --ready" sends a UDP-message to systemd
5) /etc/xen/scripts/launch-xenstore exits
6) systemd gets SIGCHLD and removes the PID from watch_pids[12]
7) systemd receives the UDP message, but
   a) the process is gone
   b) the PID is not in watch_pids[12] any more.
8) "Cannot find unit for notify message of PID..."
9) No start of depending units.

I see no proper way to get out of this but to make the systemd-notify
synchronous rather than fire-and-forget and expect it to wait for a
response from systemd.

Josef
-- 
SUSE Linux GmbH
Maxfeldstrasse 5
90409 Nuernberg
Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)


More information about the systemd-devel mailing list