Subject: bug#41948: Shepherd deadlocks

From: Michael Rohleder <[email-masked]>
Date: Sat, 20 Jun 2020 02:16:25 +0200

Hi Mathieu,

Mathieu Othacehe <[email-masked]> writes:
> This is not always reproducible. In order to gather some information, I
> created a Shepherd "strace" service that logs what's happening in
> Shepherd itself (patch attached).

> +(define strace-service-type
> +  (shepherd-service-type
> +   'strace
> +   (lambda (pid)
> +     (shepherd-service
> +      (requirement '(root-file-system user-processes))
> +      (provision (list (string->symbol
> +                        (string-append "strace-" (number->string pid)))))
> +      (documentation "Strace a running process.")
> +      (start #~(make-forkexec-constructor
> +                (list #$(file-append strace "/bin/strace")
> +                      "-f" "-p" (number->string #$pid)
> +                      "-o" (string-append "/var/log/strace-"
> +                                          (number->string #$pid) ".log"))))
> +      (stop   #~(make-kill-destructor))))))

Thank you very much for this nice strace service!

I'am debugging a "shepherd hangs" problem in the context of lvm and
lvmcache...
This service helps me a lot, ty!

-- 
>Ever heard of .cshrc?
That's a city in Bosnia.  Right?
(Discussion in comp.os.linux.misc on the intuitiveness of commands.)