Subject: Re: bug#36731: shepherd lost track of nginx

From: Ludovic Courtès <[email-masked]>
Date: Sat, 20 Jul 2019 15:51:46 +0200

Hi,

Robert Vollmert <[email-masked]> skribis:

>>> $ 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 “…”)))

That’s actually the non-opaque variant, so shepherd should read the PID
file and it shouldn’t get it wrong.  Not sure what happened.

If you can reproduce it, it would be great to gather the output of “herd
status nginx” at the time shepherd is confused.

Thanks,
Ludo’.