Hi all,
For a while now I've noticed when shutting down my PC I see the
containerd and virtlogd services be respawned, which I found odd. This
didn't have any consequences before, but lately Shepherd gets stuck
waiting for process termination for these two processes. I have to
manually cut power for the PC to shut down.
Here's a transcription of what I see in the console during the shutdown
process:
--8<---------------cut here---------------start------------->8---
shepherd[1]: Stopping service user-processes...
shepherd[1]: sending all processes the TERM signal
shepherd[1]: Service udev has been disabled
shepherd[1]: Respawning trng
shepherd[1]: Respawning virtlogd
shepherd[1]: Starting service virtlogd...
shepherd[1]: Service virtlogd started.
shepherd[1]: Service virtlogd running with value #<<process> id: 31621 command:
("/gnu/store/.../virtlodg -f /gnu/store/...-virtlogd.conf")
shepherd[1]: Service virtlogd has been started.
shepherd[1]: Respawning containerd
shepherd[1]: Service udev is currently disabled
shepherd[1]: Starting service containerd...
shepherd[1]: Service trng depends on udev.
shepherd[1]: Service containerd has been started.
shepherd[1]: Service containerd started
shepherd[1]: Service containerd running with value #<<process> id: 31622
command: ("/gnu/store/.../containerd")
shepherd[1]: waiting for process termination (processes left: (1 31621 31622))
shepherd[1]: Service virtlogd (PID 31621) terminated with signal 9
shepherd[1]: Service containerd (PID 31622) terminated with signal 9
shepherd[1]: Respawning virtlogd
shepherd[1]: Respawning containerd
shepherd[1]: Service virtlogd started.
shepherd[1]: Service virtlogd running with value #<<process> id: 31639 command:
("/gnu/store/.../virtlodg -f /gnu/store/...-virtlogd.conf")
shepherd[1]: Service virtlogd has been started.
shepherd[1]: waiting for process termination (processes left: (1 31639 31640))
shepherd[1]: Service containerd has been started
shepherd[1]: Service containerd running with value #<<process> id: 31640
command: ("/gnu/store/.../containerd")
shepherd[1]: Service containerd started
shepherd[1]: waiting for process termination (processes left: (1 31639 31640))
... repeat previous line until power cut
--8<---------------cut here---------------end--------------->8---
My os config is a bit difficult to share [1] since it uses inheritance,
but here's a snippet of all services I see in the above console. I
haven't customized them in any way.
--8<---------------cut here---------------start------------->8---
(operating-system
(inherit lan-graphical-system)
(services
(cons*
(udev-rules-service 'android-adb android-udev-rules
#:groups '("adbusers"))
(service rngd-service-type)
(service libvirt-service-type)
(service virtlog-service-type) ;needed to create vms in virt-manager
(service containerd-service-type)
(service docker-service-type)
(operating-system-user-services lan-graphical-system))))
--8<---------------cut here---------------end--------------->8---
Would anyone familiar with Shepherd's internals hazard a guess as to why
these services are being respawned in the first place? How should I go
about troubleshooting this when it only occurs once my ability to
interact with the system is limited to "take screenshots and
transcribe"? :)
[1]:
https://git.sr.ht/~freakingpenguin/rsent/tree/master/item/rsent/system/lan.scm#L235
--
Take it easy,
Richard Sent
Making my computer weirder one commit at a time.