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

From: Ludovic Courtès <[email-masked]>
Date: Wed, 05 Feb 2025 11:11:42 +0100

Hi Maxim,

Maxim Cournoyer <[email-masked]> skribis:

> ~/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 `()'."

[...]

> ;; Send shepherd into the background.
> (action 'shepherd 'daemonize)

This is because you should be writing this instead (info "(shepherd)
Managing User Services"):

  (perform-service-action root-service 'daemonize)

This is because ‘action’, which was deprecated in 0.10, now has a
different meaning (info "(shepherd) Defining Services").

HTH!

Ludo’.