Hey Guix, I'm facing a pretty annoying Shepherd 0.10.4 bug.
If a service start script gets provided an incorrect form, such as an empty quoted list, Shepherd hangs during its early startup and bricks the overall Guix system. I think the following snippet is a good minimal reproducer for this. Add this service to a guix system configuration: --8<---------------cut here---------------start------------->8--- (simple-service 'shepherd-bug-repro shepherd-root-service-type (list (shepherd-service (documentation "shepherd hang minimal repro") (provision '(shepherd-bug-repro)) (requirement '()) (start #~('()))))) u--8<---------------cut here---------------end--------------->8--- ⚠ DO NOT BOOT ON A CRITICAL SYSTEM WITH THIS SERVICE, IT'LL BRICK IT ⚠ You can create a VM for this system and start it. The VM hangs after the log line "creating /etc/machine-id...", before any shepherd service gets started. You get the same behaviour if you end up booting by misfortune a "real" system having this service. Instead of having the whole system to freeze, I'd expect shepherd to fail the particular service having an incorrect start form. I'm not sure what's happening here. I did not manage to diagnose this further, the shepherd does not seem to be super chatty at this stage of the boot. Tested on Shepherd 0.10.4 with the Guix revision c5e63e19ac672f9e63fc8ee98fa9a16f978ce19c.