unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: buma2023@outlook.fr
Cc: 64455@debbugs.gnu.org
Subject: bug#64455: shepherd: unable to use redefined system/system* in 0.10.1
Date: Tue, 11 Jul 2023 15:22:50 +0200	[thread overview]
Message-ID: <875y6q60r9.fsf@gnu.org> (raw)
In-Reply-To: <87ilar5qs2.fsf@gnu.org> ("Ludovic Courtès"'s message of "Tue, 11 Jul 2023 00:46:05 +0200")

Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

> "buma2023@outlook.fr" <buma2023@outlook.fr> skribis:
>
>> I am using happily shepherd since a few years as my init system on
>> Debian: amd64 (desktop and notebook), armhf (Cubox).
>
> Interesting!  I didn’t know of such uses.
>
>> I was using 0.9.1 with guile-3.0.5 and fibers-1.1.1.
>>
>> I recently tried 0.10.1 with guile-3.0.9 and fibers 1.3.1 and
>> encountered a problem with using system and system* in my services:
>> the simple fact to have the symbol system or system* in
>> /etc/shepherd.scm or included files (even if the command is not
>> executed) leads to a misbehaving shepherd, more specifically the
>> shepherd socket disappears; the system boots but with multiple
>> instances of the launched daemons.
>>
>> If a system/system* command is executed while booting, shepherd
>> blocks at the point of its execution.
>>
>> Example of service causing the failure:
>>
>> (register-services
>>  (make <service>
>>    #:provides '(mytest)
>>    #:start (lambda args
>>            (system "touch /tmp/somefile")
>>            #t)
>>    ))
>>
>> The service is not started at boot, I have to do it manually afterwards,
>> but I never can go there, as the shepherd socket is missing.
>
> I can reproduce it like this:
>
> $ cat /tmp/t.conf
> (register-services
>  (make <service>
>    #:provides '(mytest)
>    #:start (lambda args
>              (system "touch /tmp/somefile")
>              #t)))
>
> (start 'mytest)
> $ shepherd -I -c/tmp/t.conf -s /tmp/sock 
> Starting service root...
> Service root started.
> Service root running with value #t.
> Service root has been started.
> Starting service mytest...
>   C-c C-z
> [1]+  Stopped                 shepherd -I -c/tmp/t.conf -s /tmp/sock
> $ bg
> [1]+ shepherd -I -c/tmp/t.conf -s /tmp/sock &
> $ herd -s /tmp/sock status
> herd: error: /tmp/sock: Connection refused
>
> This is both with 0.10.1 and with
> d5ed516e736ce473902cc86b5cf4f61f27ebb642.

Sorry, the bug is reproducible with 0.10.1 but *not* with
d5ed516e736ce473902cc86b5cf4f61f27ebb642.

I believe this was fixed by Shepherd commit
2b310bd3b0ba0d7a08c77b456d34369cd6444edb (that is, after 0.10.1).

I think I’ll release 0.10.2 within a couple of weeks, but it would be
great if you could confirm that current Shepherd ‘master’ works for you.

Thanks!

Ludo’.




  reply	other threads:[~2023-07-11 13:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-03 17:46 bug#64455: shepherd: unable to use redefined system/system* in 0.10.1 buma2023
2023-07-10 22:46 ` Ludovic Courtès
2023-07-11 13:22   ` Ludovic Courtès [this message]
2023-07-30 17:23 ` urb59

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=875y6q60r9.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=64455@debbugs.gnu.org \
    --cc=buma2023@outlook.fr \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).