The ping command hangs when there is no active service
The issue is following the one discussed in bug #118 (closed)
The Ubuntu patch to add a timeout was initialled added to fix https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/1705345 (and not upstreamed it seems for some reason...)
The issue described is
1) Run 'sudo /sbin/plymouthd --mode=boot --attach-to-session --pid-file=/run/plymouth/pid'
2) Observe plymouthd is running ('ps aux | grep plymouth')
3) stop the plymouthd process 'sudo kill -STOP $PID'
4) Run 'plymouth --ping --debug'
5) Observe that the plymouth --ping command hangs
The command waits there forever, is that expected? The documentation is not really clear, it states 'Check if plymouthd is running.' but isn't explicit on if the check result is supposed to be a return value? Or returning vs hanging if plymouth is not active?
The hanging is problematic in Debian and Ubuntu because some package maintainer scripts are calling that command to determine if plymouth is active, example https://sources.debian.org/src/live-tools/1:20190831/bin/live-medium-eject/#L70 https://sources.debian.org/src/cryptsetup/2:2.3.4-1/debian/scripts/decrypt_opensc/?hl=38#L38
gdm is doing something similar https://sources.debian.org/src/gdm3/3.38.1-2/daemon/gdm-manager.c/?hl=151#L151