On Thu, May 21, 2020 at 07:51:54AM -0500, Katherine Cox-Buday wrote:
Toggle quote (33 lines)
> Efraim Flashner <efraim@flashner.co.il> writes:
>
> > On Wed, May 20, 2020 at 09:59:03PM -0500, Katherine Cox-Buday wrote:
> >> I am running shepherd as a userspace service manager on an alien distro.
> >> Occassionally (often enough as to cause concern), Shepherd is crashing.
> >> I am unable to narrow down a cause, but anecdotally, it seems to happen
> >> more often when a service it's managing fails repeatedly and is
> >> disabled.
> >>
> >> I'm running `strace` against the Shepherd process in an attempt to
> >> submit a better bug report, but this is all I have for now. Maybe others
> >> have also seen this behavior.
> >
> > I found it happens less often with shepherd-0.8. What version are you
> > running? Also possibly related, do you have mismatched versions of guile
> > between guix packages and your distro's native packages?
>
> Sorry, I forgot to include the version! I am running 0.8 from a store
> which I update ~1 week.
>
> > I've also sometimes found shepherd to crash when I add a service where
> > the start command is "wrong", as though the error were so bad that
> > shepherd says "Nope! That's it! I quit!"
>
> I'm doing very standard things with `make-forkexec-constructor`, so I
> wouldn't expect any problems there.
>
> Your comment is kind of scary though! Shepherd is the thing I want to
> stay up no matter what since it's responsible for monitoring and
> restarting things. The idea that a misbehaving or poorly written service
> could bring down the entire Shepherd process is a problem! Is there no
> isolation?
I have a whole collection of attempts to integrate mcron with shepherd,
to create loops and add jobs only when the service is active. Attempting
to fork off and then collect the child process and then fail just enough
to make the service restart. Lots of cringe-worthy code. The more common
fail scenarios I see are shepherd fails to start because it doesn't like
my start code of one of the services or actually starting the service
somehow kills it. All of those were with straight lambdas to the start
command though.
Do you have your services writing out any logs? Maybe there's a clue
there.
Toggle quote (9 lines)
> > I'd suggest looking at .config/shepherd/shepherd.log but it's rather
> > sparse. Still, it might have something useful.
>
> Yes, this is the first place I looked, but unfortunately there wasn't
> much usable informatino.
>
> --
> Katherine
--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl7GinYACgkQQarn3Mo9
g1E7Zw/+L2CA+Yy0ewq6WgTq+CmcVRUju6X9PvR8Od1Q6QxWKl4p0xdcJjI21OKt
uSz0OmoM+cZRud7EZtXpbRds1k4ar6ZmM9pJv5WUBZaF11kISrxjJnncbEsHCy0U
NwIEp4OSiZRubBiBzST7Wb9fr3XZSK4rvuSqmr+9OPKkj6ekZcIa51PG7h2wODyn
2gjqYdfXoKXxCB7RECRPw7v92k6QGuqnSAXlwi9fNg1ZojFECelaL0b4liqb23wG
AbJ4HmatBagLo5TezO9g6KdhxS3VfEvqsuN1h6JwHXCYoAJsfN3HN9R8KovNf/Wi
mL+WIxq0FpRX5rexV7GkZaC86ABGspxmrbPnnqPktCqjwwMHPo4iFeHIIzx1w9VM
PPzAg3Da2TilkR5z0h4Td+nKNvCjSQ6C6WZhlxaG/uOSPYSSBApbYWgRg81x+xq6
m11UroqNSQ34PekPhl7u1Bowillyd1OvK1tIi8as7i6DEEFzsjRafP+cfZa0apkt
9LGPYXjL/me4y9ZWhXnF3gYA32lCKdyCIphLr2iJvppA44wubMsG7piE1HPkBzTm
GxkdHgS1qrVW8ucYgw9KVLiB3DxwY5a3RP4jBjPx/GBNZ+bq5DKG4c58CuZZmIF2
Z4hCU448pYKS6mFGgCUCdalPeFF6u219tTiB7XprcXKhmuhEKFA=
=GPjE
-----END PGP SIGNATURE-----