Subject: bug#72166: Shepherd periodically goes unresponsive on one of my machines

From: "Jonathan Frederickson" <[email-masked]>
Date: Wed, 24 Jul 2024 20:08:38 -0400

On Mon, Jul 22, 2024, at 3:14 AM, Ludovic Courtès wrote:
> Hi,
> 
> "Jonathan Frederickson" <[email-masked]> skribis:
> 
> > Hi Ludo, thanks for the troubleshooting help. Looks like I'm running 0.10.4:
> >
> > jfred@terracard ~$ cat /proc/1/cmdline | xargs -0
> > /gnu/store/bhynhk0c6ssq3fqqc59fvhxjzwywsjbb-guile-3.0.9/bin/guile --no-auto-compile /gnu/store/39li5qpiaj1lx89xgahlbgvfnjhpcpwg-shepherd-0.10.4/bin/shepherd --config /gnu/store/hfyri6ygfdjq4w3nkha2ypa2k98hhfxj-shepherd.conf
> >
> > I see now that 0.10.5 was released a few weeks ago, does that have a fix that could be related?
> 
> Yes, it could be related.  Per the ‘NEWS’ file of Shepherd:
> 
>   ** ‘herd unload root SERVICE’ no longer hands when there’s a replacement
>      (<https://issues.guix.gnu.org/71478>)
> 
>   It used to be that, for a running service S that has a replacement registered,
>   ‘herd unload root S’ would hang shepherd, making it totally unresponsive—‘herd
>   status’, ‘halt’, etc. would hang forever, and inetd-style services would no
>   longer start, etc.  This is now fixed.
> 
> Depending on previous ‘guix system reconfigure’ invocations on these
> machines, it’s possible that you ended up in this state.
> 
> Would be great if you could upgrade and see if the problem still occurs.
> 
> Thanks,
> Ludo’.

I've gotten this machine upgraded to 0.10.5 and just experienced the same thing again:

jfred@terracard ~$ ps aux | grep swaylo
jfred      544  0.0  0.0   3700  2432 ?        S    19:02   0:00 swayidle -w timeout 300 swaylock -f -i ~/.wallpapers/user-manual.jpg timeout 10 if pgrep swaylock; then swaymsg "output * dpms off"; fi resume swaymsg "output * dpms on" before-sleep swaylock -f -i ~/.wallpapers/user-manual.jpg
jfred     1956  0.0  0.0      0     0 ?        Z    19:22   0:00 [swaylock] <defunct>
jfred     1957  0.0  0.0      0     0 ?        Zs   19:22   0:00 [swaylock] <defunct>
jfred     2162  0.0  0.0      0     0 ?        Z    19:38   0:00 [swaylock] <defunct>
jfred     2163  0.0  0.0      0     0 ?        Zs   19:38   0:00 [swaylock] <defunct>
jfred     2604  0.0  0.0   6116  2432 pts/2    S+   20:04   0:00 grep --color=auto swaylo
jfred@terracard ~$ cat /proc/1/cmdline 
/gnu/store/bhynhk0c6ssq3fqqc59fvhxjzwywsjbb-guile-3.0.9/bin/guile--no-auto-compile/gnu/store/wrmyav254ydjn9cad3q169fxg7x6p80b-shepherd-0.10.5/bin/shepherd--config/gnu/store/sfjww12mipyx4zxa6i9x8nxxfyb7h3y4-shepherd.conf

Of note, I haven't run 'guix system reconfigure' or any manual 'herd' commands on this machine since boot.