all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Picnoir" <picnoir@alternativebit.fr>
To: 71193@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: bug#71193: Shepherd fails to start a system when given an incorrect form to the start field of any service
Date: Sat, 25 May 2024 09:33:55 +0200	[thread overview]
Message-ID: <87fru6uyzg.fsf@alternativebit.fr> (raw)

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.




             reply	other threads:[~2024-05-25 16:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-25  7:33 Picnoir [this message]
2024-06-26 13:47 ` bug#71193: Shepherd fails to start a system when given an incorrect form to the start field of any service Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fru6uyzg.fsf@alternativebit.fr \
    --to=picnoir@alternativebit.fr \
    --cc=71193@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.