Subject: Re: [bug#76811] [PATCH] services: nginx: Replace invoke with spawn-command.

From: Ludovic Courtès <[email-masked]>
Date: Sat, 08 Mar 2025 00:08:44 +0100

Hey,

> I did try restarting nginx over and over again in the system test os,
> but that seemed to work.
>
> On a VM I have though, it only takes a few restarts for it to hang, I'm
> not sure why though.

It could be that nginx alone would work well, but combining it with
another service that does unusual things triggers the bug.

One way to investigate would be to start from ‘bayfront.scm’ (which I
think has that problem) and boil it down until we have something that
can run in a VM and reproduces the problem.

I don’t see any ‘waitpid’ uses left in Shepherd services under
gnu/services/*.scm.

One thing I found that is risky is ‘guix-data-service-setup-database’:
it loads a bunch of (guix-data-service …) modules into PID 1 and runs
non-trivial code in there; I strongly recommend doing this in a separate
process, similar to how ‘bffe-shepherd-services’ does it.

Ludo’.