On 2022-03-24 15:21, Ludovic Courtès wrote: > 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 # #(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’. > > Can confirm. Activation script tries to load latest shepherd configuration with `herd load root ./path/to/config.scm` and it starts a shepherd process. Login shell starts the shepherd process as well. Probably we need to do config reload using on-change service and also not trigger on-change stuff if user isn't logged in. I can think on the proper solution and make a patch with a fix later this week or beginning of the next week. -- Best regards, Andrew Tropin