GNU bug report logs - #74279
Shepherd service is not getting respawned.

Previous Next

Package: guix;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Sat, 9 Nov 2024 15:01:01 UTC

Severity: normal

Tags: notabug

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 74279 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 74279 <at> debbugs.gnu.org
Subject: Re: bug#74279: Shepherd service is not getting respawned.
Date: Sun, 10 Nov 2024 12:32:48 +0100
Hi Tomas,

Tomas Volf <~@wolfsden.cz> skribis:

>         (start #~(lambda _
>                    (let* ((cmd "/run/privileged/bin/ping -qc1 -W1 1.1.1.1")
>                           (status (system cmd)))
>                      (= 0 (status:exit-val status)))))
>         (one-shot? #t)
>         ;; Try every second.
>         (respawn-delay 1)
>         ;; Retry forever.  Double-quoting is intentional.
>         (respawn-limit ''(5 . 5)))))

[...]

> Nov  7 00:18:20 localhost shepherd[1]: Starting service network-online...
> [..]
> Nov  7 00:18:20 localhost shepherd[1]: [sh] PING 192.168.0.110 (192.168.0.110): 56 data bytes
> Nov  7 00:18:20 localhost shepherd[1]: [sh] /run/privileged/bin/ping: sending packet: Network is unreachable
> Nov  7 00:18:20 localhost shepherd[1]: Service network-online could not be started.
> Nov  7 00:18:20 localhost shepherd[1]: Service network-online failed to start.

I think there’s a misunderstanding here: ‘respawn?’ is about respawning
a service that, once it is running, terminates prematurely.

In your case, the service does not start (its ‘start’ method returns
#f).

Now, it would probably make sense to have a mechanism to retry starting
services.

In the specific case of ‘network-online’ though, you could use a
different approach: the ‘start’ method could itself try retry pinging
the network several times and fail only if it failed to reach the
network after, say, 10s.  (Remember that ‘start’ and ‘stop’ must
complete in a timely fashion.)

HTH,
Ludo’.




This bug report was last modified 184 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.