Subject: bug#76037: [shepherd] regression: throw to key `assertion-failed' in init.scm

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 04 Feb 2025 10:59:01 +0900

Hello,

In the latest Shepherd as packaged in Guix, as well as when building it
from commit 63075c9, starting shepherd my home services (which I still
manually roll, not via 'guix home'):

--8<---------------cut here---------------start------------->8---
~/src/shepherd$ /gnu/store/5hcznfjzxvjbwixr5fkgpfd2w2zi4fxl-shepherd-1.0.99-git/bin/shepherd
GNU Shepherd 1.0.1 (Guile 3.0.9, x86_64-unknown-linux-gnu)
Starting service root...
Service root started.
Service root running with value #<<process> id: 2771 command: #f>.
Service root démarré.
shepherd/service.scm:236: Assertion (procedure? proc) failed.
While loading configuration file '/home/maxim/.config/shepherd/init.scm': "Throw to key `assertion-failed' with args `()'."
shepherd: error: "/home/maxim/.config/shepherd/init.scm": exception thrown while loading configuration file
--8<---------------cut here---------------end--------------->8---

And none of the services I have defined in my init are run (file
attached):

$ shepherd status

--8<---------------cut here---------------start------------->8---
$ herd status
Démarrés :
 + root
Arrêtés :
 - emacs
 - gpg-agent
 - ibus-daemon
 - jackd
 - workrave
--8<---------------cut here---------------end--------------->8---

The services can be manually started, in the meantime, with 'herd start
emacs', etc.

-- 
Thanks,
Maxim