Subject: bug#36731: shepherd lost track of nginx

From: Robert Vollmert <[email-masked]>
Date: Sat, 20 Jul 2019 09:42:34 +0200

> On 20. Jul 2019, at 00:49, Ludovic Courtès <[email-masked]> wrote:
> 
> Hello,
> 
> Robert Vollmert <[email-masked]> skribis:
> 
>> Not sure who’s at fault here, but without doing anything weird,
>> I ended up with a system where shepherd thought that nginx was
>> stopped, while there was still an nginx process around. I
>> certainly didn’t start it by hand.
> 
> Did you try “herd status nginx” to see shepherd’s notion of the nginx
> process?

Not at the time, no.

> 
>> The result was this:
>> 
>> $ sudo herd restart nginx
>> Service nginx is not running.
>> herd: exception caught while executing 'start' on service 'nginx':
>> Throw to key `srfi-34' with args `("#<condition &invoke-error [program: \"/gnu/store/mlg0xfbiq03s812rm3v7mrlhyngas4xp-nginx-1.17.1/sbin/nginx\" arguments: (\"-c\" \"/gnu/store/r6gl9n7pwf4npiri05qxr40vdihdm2yy-nginx.conf\" \"-p\" \"/var/run/nginx\") exit-status: 1 term-signal: #f stop-signal: #f] 147e000>")’.
> 
> Do you use an “opaque” nginx config file, or do you use <nginx-...>
> records?

The latter I think:

     (service nginx-service-type
              (nginx-configuration
               (extra-content “…”)))