Re: s6-networking: s6-tlsc-io CPU utilization on network breakage

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Tue, 09 Sep 2025 16:18:46 +0000

  Hi Petr,

  What you're observing is arguably a bug because s6-tlsc-io should
never busyloop, and I'll fix it asap; but also, you should never be
observing this.

  I don't know how you run s6-tlsc-io in your normal usage, but if it
yields the exact trace you provided, it is incorrect: ppoll() returns
POLLERR on fd 1, which means something is wrong with s6-tlsc-io's
stdout.

  In the example script you're giving, you're running "s6-tlsc cat":
this is incorrect, because "cat" will copy stdin to stdout and not
address the network at all. What you want is copy stdin to fd 7 *and*
copy fd 6 to stdout, at the same time; a program that does just that
is s6-ioconnect (from the s6 package).

  You can use "s6-tlsd cat" to test a server, but use "s6-tlsc
s6-ioconnect"
to test a client.

  I don't know if it is the reason why s6-tlsc-io's ppoll() reports an
error on fd 1; what I know is that if your stdout starts throwing
errors, you usually have bigger problems than s6-tlsc-io's behaviour.
There's *something* in your setup that messes with your terminal and you
should probably investigate what that is.

  In any case I'll make the busylooping go away. Thanks for the report.

--
  Laurent
Received on Tue Sep 09 2025 - 18:18:46 CEST

This archive was generated by hypermail 2.4.0 : Tue Sep 09 2025 - 18:19:18 CEST