all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Markus Nilsson <markusnilsson890@gmail.com>
To: 56519@debbugs.gnu.org
Subject: bug#56519: Shepherd non-deterministically fails to load the "guix-daemon" service after the "user-processes" service has been started
Date: Tue, 26 Jul 2022 02:48:54 +0000	[thread overview]
Message-ID: <CA+phM3+20kfGVinutRiqm_rJszFNgGozHOGnDYDkeqaVyX3u2Q@mail.gmail.com> (raw)
In-Reply-To: <CA+phM3JnBbA_0M16u-abNE_8n2dw3BssAca8igy2WF2fnqeMhg@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2976 bytes --]

Hi Ludo,

Thankyou for taking a look at this issue!

I think I didn't make it clear in the original bug report what the actual
problem was.

I understand that in the beginning of the boot process the
"device-mapping-streetkid_VG_storage-streetkid_LV_home" shepherd service is
failing and this is causing shepherd services that depend on it to fail to
start as a consequence. Later in the boot process the
"device-mapping-streetkid_VG_storage-streetkid_LV_home" does successfully
start though.

What happens is that after the
"device-mapping-streetkid_VG_storage-streetkid_LV_home" does start (after a
couple of tries), other shepherd services will then start including the
"user-processes" shepherd service. The problem is that the "guix-daemon"
shepherd service doesn't always start after that. Sometimes it will, but
sometimes it won't (see my first message for examples). Shouldn't the
"guix-daemon" shepherd service ALWAYS start after the "user-processes"
shepherd service starts?

I also found that the "nscd" shepherd service is failing to start even
though the "user-processes" shepherd service has started.

The following terminal output was taken after my streetkid server had
finished booting up. This should make things clearer:

1 mark@streetkid ~$ sudo herd status
2 Started:
3  + /proc/fs/nfsd
4  + console-font-tty1
5  + console-font-tty2
6  + console-font-tty3
7  + console-font-tty4
8  + console-font-tty5
9  + console-font-tty6
10  + device-mapping-streetkid_VG_storage-streetkid_LV_home
11  + file-system-/dev/pts
12  + file-system-/dev/shm
13  + file-system-/gnu/store
14  + file-system-/home
15  + file-system-/sys/firmware/efi/efivars
16  + file-system-/sys/kernel/debug
17  + file-systems
18  + idmap-daemon
19  + loopback
20  + mcron
21  + networking
22  + nfs
23  + ntpd
24  + root
25  + root-file-system
26  + rpc-pipefs
27  + rpc.mountd
28  + rpc.nfsd
29  + rpc.statd
30  + rpcbind-daemon
31  + ssh-daemon
32  + sshd-1
33  + syslogd
34  + term-tty1
35  + term-tty2
36  + term-tty3
37  + term-tty4
38  + term-tty5
39  + term-tty6
40  + udev
41  + urandom-seed
42  + user-file-systems
43  + user-processes
44  + virtual-terminal
45 Stopped:
46  - guix-daemon
47  - nscd
48  - term-console
49 One-shot:
50  * host-name
51  * sysctl
52  * user-homes

As you can see on line 10
"device-mapping-streetkid_VG_storage-streetkid_LV_home" has been started
and on line 43 "user-processes" has been started. The problem is that
"guix-daemon" hasn't been started (line 46) and "nscd" also hasn't been
started (line 47). Shouldn't Shepherd start these two services once
"user-processes" has been started?

I checked other services that depend on "user-processes" (see the attached
shepherd dependency graph for my system). The "mcron" service and "ntpd"
successfully start (lines 20 and 23). This still leaves the mystery of why
"guix-daemon" and "nscd" won't start even though "user-processes" HAS been
started.

I hope this makes things clearer.

Cheers
Markus

[-- Attachment #1.2: Type: text/html, Size: 3725 bytes --]

[-- Attachment #2: streetkid-system-config-shepherd-graph.gv --]
[-- Type: text/vnd.graphviz, Size: 8488 bytes --]

digraph "Guix shepherd-service" {
  "user-file-systems" [label = "user-file-systems", shape = box, fontname = sans];
  "file-systems" -> "user-file-systems" [color = darkviolet];
  "file-systems" [label = "file-systems", shape = box, fontname = sans];
  "user-processes" -> "file-systems" [color = dimgrey];
  "user-homes" -> "file-systems" [color = darkgoldenrod];
  "urandom-seed" -> "file-systems" [color = magenta];
  "user-processes" [label = "user-processes", shape = box, fontname = sans];
  "nscd" -> "user-processes" [color = darkseagreen];
  "guix-daemon" -> "user-processes" [color = dimgrey];
  "term-tty6" -> "user-processes" [color = peachpuff4];
  "term-tty5" -> "user-processes" [color = red];
  "term-tty4" -> "user-processes" [color = darkseagreen];
  "term-tty3" -> "user-processes" [color = darkgoldenrod];
  "term-tty2" -> "user-processes" [color = dimgrey];
  "term-tty1" -> "user-processes" [color = magenta];
  "term-console" -> "user-processes" [color = magenta];
  "syslogd" -> "user-processes" [color = darkseagreen];
  "ntpd" -> "user-processes" [color = red];
  "mcron" -> "user-processes" [color = darkgoldenrod];
  "nscd" [label = "nscd", shape = box, fontname = sans];
  "guix-daemon" [label = "guix-daemon", shape = box, fontname = sans];
  "term-tty6" [label = "term-tty6", shape = box, fontname = sans];
  "console-font-tty6" -> "term-tty6" [color = darkviolet];
  "console-font-tty6" [label = "console-font-tty6", shape = box, fontname = sans];
  "term-tty5" [label = "term-tty5", shape = box, fontname = sans];
  "console-font-tty5" -> "term-tty5" [color = peachpuff4];
  "console-font-tty5" [label = "console-font-tty5", shape = box, fontname = sans];
  "term-tty4" [label = "term-tty4", shape = box, fontname = sans];
  "console-font-tty4" -> "term-tty4" [color = red];
  "console-font-tty4" [label = "console-font-tty4", shape = box, fontname = sans];
  "term-tty3" [label = "term-tty3", shape = box, fontname = sans];
  "console-font-tty3" -> "term-tty3" [color = cyan3];
  "console-font-tty3" [label = "console-font-tty3", shape = box, fontname = sans];
  "term-tty2" [label = "term-tty2", shape = box, fontname = sans];
  "console-font-tty2" -> "term-tty2" [color = blue];
  "console-font-tty2" [label = "console-font-tty2", shape = box, fontname = sans];
  "term-tty1" [label = "term-tty1", shape = box, fontname = sans];
  "console-font-tty1" -> "term-tty1" [color = darkseagreen];
  "console-font-tty1" [label = "console-font-tty1", shape = box, fontname = sans];
  "term-console" [label = "term-console", shape = box, fontname = sans];
  "syslogd" [label = "syslogd", shape = box, fontname = sans];
  "term-console" -> "syslogd" [color = magenta];
  "ssh-daemon ssh sshd" -> "syslogd" [color = cyan3];
  "ssh-daemon ssh sshd" [label = "ssh-daemon ssh sshd", shape = box, fontname = sans];
  "ntpd" [label = "ntpd", shape = box, fontname = sans];
  "mcron" [label = "mcron", shape = box, fontname = sans];
  "user-homes" [label = "user-homes", shape = box, fontname = sans];
  "user-processes" -> "user-homes" [color = dimgrey];
  "urandom-seed" [label = "urandom-seed", shape = box, fontname = sans];
  "user-processes" -> "urandom-seed" [color = dimgrey];
  "root-file-system" [label = "root-file-system", shape = box, fontname = sans];
  "file-systems" -> "root-file-system" [color = darkviolet];
  "file-system-/home" -> "root-file-system" [color = darkseagreen];
  "file-system-/dev/pts" -> "root-file-system" [color = red];
  "file-system-/sys/kernel/debug" -> "root-file-system" [color = cyan3];
  "file-system-/dev/shm" -> "root-file-system" [color = peachpuff4];
  "file-system-/sys/firmware/efi/efivars" -> "root-file-system" [color = red];
  "file-system-/gnu/store" -> "root-file-system" [color = magenta];
  "udev" -> "root-file-system" [color = cyan3];
  "virtual-terminal" -> "root-file-system" [color = peachpuff4];
  "file-system-/home" [label = "file-system-/home", shape = box, fontname = sans];
  "file-systems" -> "file-system-/home" [color = darkviolet];
  "file-system-/dev/pts" [label = "file-system-/dev/pts", shape = box, fontname = sans];
  "file-systems" -> "file-system-/dev/pts" [color = darkviolet];
  "file-system-/sys/kernel/debug" [label = "file-system-/sys/kernel/debug", shape = box, fontname = sans];
  "file-systems" -> "file-system-/sys/kernel/debug" [color = darkviolet];
  "file-system-/dev/shm" [label = "file-system-/dev/shm", shape = box, fontname = sans];
  "file-systems" -> "file-system-/dev/shm" [color = darkviolet];
  "file-system-/sys/firmware/efi/efivars" [label = "file-system-/sys/firmware/efi/efivars", shape = box, fontname = sans];
  "file-systems" -> "file-system-/sys/firmware/efi/efivars" [color = darkviolet];
  "file-system-/gnu/store" [label = "file-system-/gnu/store", shape = box, fontname = sans];
  "file-systems" -> "file-system-/gnu/store" [color = darkviolet];
  "udev" [label = "udev", shape = box, fontname = sans];
  "device-mapping-streetkid_VG_storage-streetkid_LV_home" -> "udev" [color = blue];
  "file-system-/home" -> "udev" [color = darkseagreen];
  "file-system-/dev/pts" -> "udev" [color = red];
  "file-system-/sys/kernel/debug" -> "udev" [color = cyan3];
  "file-system-/dev/shm" -> "udev" [color = peachpuff4];
  "file-system-/sys/firmware/efi/efivars" -> "udev" [color = red];
  "file-system-/gnu/store" -> "udev" [color = magenta];
  "urandom-seed" -> "udev" [color = magenta];
  "term-tty6" -> "udev" [color = peachpuff4];
  "term-tty5" -> "udev" [color = red];
  "term-tty4" -> "udev" [color = darkseagreen];
  "term-tty3" -> "udev" [color = darkgoldenrod];
  "term-tty2" -> "udev" [color = dimgrey];
  "term-tty1" -> "udev" [color = magenta];
  "term-console" -> "udev" [color = magenta];
  "networking" -> "udev" [color = darkviolet];
  "device-mapping-streetkid_VG_storage-streetkid_LV_home" [label = "device-mapping-streetkid_VG_storage-streetkid_LV_home", shape = box, fontname = sans];
  "file-system-/home" -> "device-mapping-streetkid_VG_storage-streetkid_LV_home" [color = darkseagreen];
  "networking" [label = "networking", shape = box, fontname = sans];
  "rpc.nfsd" -> "networking" [color = darkseagreen];
  "ntpd" -> "networking" [color = red];
  "rpcbind-daemon" -> "networking" [color = dimgrey];
  "rpc.nfsd" [label = "rpc.nfsd", shape = box, fontname = sans];
  "nfs" -> "rpc.nfsd" [color = darkseagreen];
  "nfs" [label = "nfs", shape = box, fontname = sans];
  "rpcbind-daemon" [label = "rpcbind-daemon", shape = box, fontname = sans];
  "rpc.statd" -> "rpcbind-daemon" [color = cyan3];
  "nfs" -> "rpcbind-daemon" [color = darkseagreen];
  "idmap-daemon" -> "rpcbind-daemon" [color = dimgrey];
  "rpc.statd" [label = "rpc.statd", shape = box, fontname = sans];
  "rpc.mountd" -> "rpc.statd" [color = peachpuff4];
  "rpc.nfsd" -> "rpc.statd" [color = darkseagreen];
  "nfs" -> "rpc.statd" [color = darkseagreen];
  "rpc.mountd" [label = "rpc.mountd", shape = box, fontname = sans];
  "nfs" -> "rpc.mountd" [color = darkseagreen];
  "idmap-daemon" [label = "idmap-daemon", shape = box, fontname = sans];
  "virtual-terminal" [label = "virtual-terminal", shape = box, fontname = sans];
  "term-tty6" -> "virtual-terminal" [color = peachpuff4];
  "term-tty5" -> "virtual-terminal" [color = red];
  "term-tty4" -> "virtual-terminal" [color = darkseagreen];
  "term-tty3" -> "virtual-terminal" [color = darkgoldenrod];
  "term-tty2" -> "virtual-terminal" [color = dimgrey];
  "term-tty1" -> "virtual-terminal" [color = magenta];
  "host-name" [label = "host-name", shape = box, fontname = sans];
  "term-tty6" -> "host-name" [color = peachpuff4];
  "term-tty5" -> "host-name" [color = red];
  "term-tty4" -> "host-name" [color = darkseagreen];
  "term-tty3" -> "host-name" [color = darkgoldenrod];
  "term-tty2" -> "host-name" [color = dimgrey];
  "term-tty1" -> "host-name" [color = magenta];
  "term-console" -> "host-name" [color = magenta];
  "sysctl" [label = "sysctl", shape = box, fontname = sans];
  "loopback" [label = "loopback", shape = box, fontname = sans];
  "ssh-daemon ssh sshd" -> "loopback" [color = cyan3];
  "/proc/fs/nfsd" [label = "/proc/fs/nfsd", shape = box, fontname = sans];
  "rpc.statd" -> "/proc/fs/nfsd" [color = cyan3];
  "rpc.mountd" -> "/proc/fs/nfsd" [color = peachpuff4];
  "rpc.nfsd" -> "/proc/fs/nfsd" [color = darkseagreen];
  "nfs" -> "/proc/fs/nfsd" [color = darkseagreen];
  "rpc-pipefs" [label = "rpc-pipefs", shape = box, fontname = sans];
  "idmap-daemon" -> "rpc-pipefs" [color = dimgrey];

}

  parent reply	other threads:[~2022-07-26  5:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-12 13:07 bug#56519: Shepherd non-deterministically fails to load the "guix-daemon" service after the "user-processes" service has been started Markus Nilsson
2022-07-18 12:54 ` Ludovic Courtès
2022-07-26  2:48 ` Markus Nilsson [this message]
2022-08-01 13:56   ` Ludovic Courtès
2022-08-05  6:23 ` Markus Nilsson

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=CA+phM3+20kfGVinutRiqm_rJszFNgGozHOGnDYDkeqaVyX3u2Q@mail.gmail.com \
    --to=markusnilsson890@gmail.com \
    --cc=56519@debbugs.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.