Subject: bug#75460: herd status hangs forever

From: Simen Endsjø <[email-masked]>
Date: Sun, 12 Jan 2025 09:02:11 +0100

Ludovic Courtès <[email-masked]> writes:

> Can you say which shepherd version you’re using, for your user shepherd?
>
> You can find out by running “cat /proc/PID/cmdline | xargs -0” for its
> PID, or by checking ~/.local/state/shepherd/shepherd.log (version 1.0.x
> prints its version string there at startup but previous versions
> didn’t.)

/gnu/store/vl55r8m4h0a2zw0hpfziijybvji21062-guile-3.0.9/bin/guile --no-auto-compile /gnu/store/kmv7ny45x2xirqz0y5pha8jm4v02h0lq-shepherd-1.0.0/bin/shepherd --silent --config /gnu/store/lwjnnpjca0kplrsm82vf1pjq7x4d8lq7-shepherd.conf
>
> Then please check precisely what hangs and what doesn’t.  You say “herd
> status” hangs; what about “herd status X”, where X is a service defined
> for your user shepherd?

Not sure how I can find out precicely what hangs. Operations on
individual services seems to work fine:

$ herd status emacs-daemon
● Status of emacs-daemon:
  It is running since Sat 11 Jan 2025 07:35:36 PM CET (13 hours ago).
  # (... snip ...)

> Last, could you share the config file of your user shepherd, or maybe
> the Guix Home config if that’s what you’re using?

https://git.sr.ht/~simendsjo/dotfiles/tree/main/item/sijo/home/simendsjo/home-environment.scm

And here is the shepherd configuration loaded (as per the command line
arguments above):

(begin
  (use-modules
   (srfi srfi-34)
   (system repl error-handling))
  (define
    (make-user-module)
    (let
        ((m
          (make-fresh-user-module)))
      (module-use! m
                   (resolve-interface
                    (quote
                     (shepherd service))))
      m))
  (register-services
   (map
    (lambda
        (file)
      (save-module-excursion
       (lambda
           ()
         (set-current-module
          (make-user-module))
         (load file))))
    (quote
     ("/gnu/store/d5kay849g8qsxa324h0bxclxvczkv4iw-shepherd-xss-lock.scm" "/gnu/store/b1i400q6wywi3zj2ij4gnrmndf2259yx-shepherd-volctl.scm" "/gnu/store/yhfgc8djxmavfx1k90yg0srs4iykd3ck-shepherd-unclutter.scm" "/gnu/store/6527xv4yp3yagkdz3vszcqv66xrkcg2w-shepherd-redshift.scm" "/gnu/store/jssmizyhlv66a441nwrz57hggbqsssq9-shepherd-picom.scm" "/gnu/store/wn3q5w0li0hn7574cidkz3fs6iwjjl7d-shepherd-network-manager-applet.scm" "/gnu/store/k8w0vgcffya47dsvbcad0ks3yfwgcm6z-shepherd-dunst.scm" "/gnu/store/2y6hkkw9dfynb45y9win9z41p6sn4sa2-shepherd-cbatticon.scm" "/gnu/store/6db7qbavk5q3vi50hnsz80sqzmz3vmad-shepherd-blueman-applet.scm" "/gnu/store/v27fvdki9x0nq8aay6a2dd6rhfpb2sqh-shepherd-emacs-daemon.scm" "/gnu/store/rjwyyq6s9xlm87jjvnhhzd886zdfi6l2-shepherd-ssh-agent.scm" "/gnu/store/ybxjna1g6m50hndl60hf3ybm6clzh4qa-shepherd-dbus.scm" "/gnu/store/s6dpkii7xsr4wa2jqzglfprz8cb0bb8h-shepherd-x11-display.scm"))))
  (perform-service-action root-service
                          (quote daemonize))
  (format #t "Starting services...~%")
  (let
      ((services-to-start
        (quote
         (xss-lock volctl unclutter redshift picom network-manager-applet dunst cbatticon blueman-applet emacs-daemon ssh-agent dbus x11-display))))
    (start-in-the-background services-to-start)
    (redirect-port
     (open-input-file "/dev/null")
     (current-input-port))))