Subject: [Guix Home] ‘shepherd’ started twice?

From: Ludovic Courtès <[email-masked]>
Date: Thu, 24 Mar 2022 15:21:26 +0100

Hi,

>From what can be seen in ‘guix home container’, it would seem that
‘shepherd’ is started twice, leading to this error while attempting to
bind(2) the second time (thus it’s actually harmless, but suboptimal):

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env  guix home container /tmp/t.scm
WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
Symlinking /home/ludo/.bash_profile -> /gnu/store/flqaxzvgfv2g3415mhmq6c0zbzdzv2k4-bash_profile... done
Symlinking /home/ludo/.profile -> /gnu/store/dann7r1095xll0kji5yl0ql07096rc8j-shell-profile... done
Symlinking /home/ludo/.bashrc -> /gnu/store/g78w0adqg25z3jl8jq71n0n0z32f7dbx-bashrc... done
Symlinking /home/ludo/.config/fontconfig/fonts.conf -> /gnu/store/4261pxafny0g2myhh9yj1771ry7k05lc-fonts.conf... done
 done
Finished updating symlinks.

Comparing /gnu/store/non-existing-generation/profile/share/fonts and
          /gnu/store/vvfrdbvmb0g41k00xxmd9qpgzavkvd32-home/profile/share/fonts... done (same)
Evaluating on-change gexps.

On-change gexps evaluation finished.

Service root has been started.
WARNING: Use of `load' in declarative module (#{ g56}#).  Add #:declarative? #f to your define-module invocation.
Starting services...
Service mcron has been started.

Service root has been started.
WARNING: Use of `load' in declarative module (#{ g56}#).  Add #:declarative? #f to your define-module invocation.
Starting services...
Service mcron has been started.

Backtrace:
           4 (primitive-load "/gnu/store/vza48khbaq0fdmcsrn27xj5y5yy?")
In shepherd.scm:
~$    316:10  3 (main "--logfile" "/home/ludo/.local/var/log/shepherd.?" ?)
    56:14  2 (call-with-server-socket "/run/user/1000/shepherd/sock?" ?)
     49:6  1 (open-server-socket "/run/user/1000/shepherd/socket")
In unknown file:
           0 (bind #<input-output: socket 12> #(1 "/run/user/1000?") #)

ERROR: In procedure bind:
In procedure bind: Address already in use
--8<---------------cut here---------------end--------------->8---

I suspect the problem is in activation snippets, but I’m open to other
hypotheses.  :-)

Thoughts?

Ludo’.