Subject: bug#76540: closed (can confirm hang on reboot is gone)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 30 Mar 2025 21:54:02 +0000

Your bug report

#76540: Hang on reboot in Guix system

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
76540: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76540
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: can confirm hang on reboot is gone
From: Danny Milosavljevic <[email-masked]>
To: [email-masked]
Date: Sun, 30 Mar 2025 23:52:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I can confirm that shepherd hang on reboot is gone.

(Now I regularily get fsck running after reboot--but I guess that's a
different bug)

Subject: Hang on reboot in Guix system
From: [email-masked]
To: [email-masked], Ludovic Courtès <[email-masked]>
Date: Tue, 25 Feb 2025 09:06:00 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

when using a Guix system, it hangs on reboot pretty much every time.

I've tracked it down (using the magic sysrq key) to two processes being 
left over: shepherd(obviously) and virtlogd.

The interesting part of the system config is:

      (service virtlog-service-type
               (virtlog-configuration
                (max-clients 10)))
      (service libvirt-service-type
               (libvirt-configuration
                (keepalive-interval 50)
                (keepalive-count 50)
                (unix-sock-group "libvirt")
                (tls-port "16514")))

Killing virtlogd using sysrq e makes shepherd immediately respawn it 
(!).

Isn't there some shepherd state that says "I'm supposed to shut down, 
don't keep respawning services" ?

For reference, the important sysrq keys are:
   sysrq 9       to increase the log level to 9. After that, you will see 
a line printed every second with the process ids of the processes that 
are still there
   sysrq e       to send SIGTERM to all processes
   sysrq i       to send SIGKILL to all processes
   sysrq t       to see all "tasks"

guix b319256
     repository URL: https://git.savannah.gnu.org/git/guix.git
     branch: master
     commit: b31925665d07acbb049adf702066b95af2b58b4d