Confusing error when s6-svstat version newer than s6-supervise

From: Patrick Mahoney <pat_at_polycrystal.org>
Date: Thu, 22 Oct 2015 16:08:46 -0500

Hi,

I have some supervised processes where s6-svstat reports:

  s6-svstat: fatal: unable to read status for /service/some-service: Broken pipe

I think what happend is that the s6-supervise instance in question is an older
version than s6-svstat. Specifically, one has the old code and one the new code
relative to the following commit, key difference being the change to
S6_SVSTAT_SIZE:

  https://github.com/skarnet/s6/commit/701540827e27a4f07ac725db3ce361d3be0c106f#diff-cd52a68033256a0a38bd106b308935b0L13

Indeed, strace shows that s6-svstat attempts to read 26 bytes, but only reads 18.

The commit log is clear: - version bumped to 2.1.0.0 because API breakage (./finish, s6-svstat)

I suppose that means when upgrading major version numbers, I should restart the
entire supervision tree.

But the 'Broken pipe' error message in this case seems misleading.

Thanks,
Patrick
Received on Thu Oct 22 2015 - 21:08:46 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC