Hi Felix, Felix Lechner via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org> skribis:
> I have a lot of custom Shepherd services. Every so often I make a > mistake that stalls the step in 'guix deploy' that upgrades Shepherd > services, but without any error messages. > > Unfortunately, I can also no longer run 'herd status', which likewise > hangs, or 'reboot'. How may I debug such issues in my operating-system > declaration, please? The standard service constructors are de-constructors cannot block shepherd entirely (at least not AFAIK). So my suggestion would be to first look at any service you’re using that has a custom ‘start’ or ‘stop’ method doing weird things; make sure none of them can block. Another thing: when shepherd is blocked, try “sudo strace -p1” so see what syscall it’s waiting to complete (that’s the likely problem). In addition, check the last lines of /var/log/messages so see what shepherd was trying to do before blocking. HTH! Ludo’.