SSHD causes 100% CPU load

Takashi Yano takashi.yano@nifty.ne.jp
Fri Aug 6 01:55:07 GMT 2021


Hi Corinna,

On Fri, 6 Aug 2021 01:43:31 +0900
Takashi Yano wrote:
> Hi Corinna,
> 
> On Thu, 5 Aug 2021 17:07:24 +0200
> Corinna Vinschen wrote:
> > Could you perhaps bisect the issue on your machine?
> 
> In my environment, this does not happen with 8.4p1-1 and 8.4p1-2.
> However it happens with 8.5p1-1.
> 
> > The fact that using Windows ssh is an issue makes me wonder if this is
> > some kind of pty problem.
> 
> With command 'ssh user@localhost ls', pty does not allocated.
> It seems that this issue does not happen if -t option (allocate
> tty) is specified. So I think this is not a pty problem.
> 
> In order to look into this problem, I tried to build openssh-8.5p1-1
> from source, however it cause the error in configure stage:
> 
> ...
> checking for pkg-config... (cached) /usr/bin/pkg-config
> checking if /usr/bin/pkg-config knows about libfido2... no
> checking for fido_init in -lfido2... no
> configure: error: no usable libfido2 found
> *** ERROR: configure failed
> 
> despite libfido2-devel had been installed.
> 
> $ cygcheck -c libfido2-devel
> Cygwin Package Information
> Package              Version        Status
> libfido2-devel       1.5.0-1        OK
> 
> How can I solve this error?

I looked into the openssh code and might find a calprit.
I guess the following patch solves the issue.

--- serverloop.c.orig	2021-03-02 19:31:47.000000000 +0900
+++ serverloop.c	2021-08-06 10:41:55.439357200 +0900
@@ -333,7 +333,7 @@
 			return -1;
 		} else if (len == -1) {
 			if (errno == EINTR || errno == EAGAIN ||
-			    errno != EWOULDBLOCK)
+			    errno == EWOULDBLOCK)
 				return 0;
 			verbose("Read error from remote host %s port %d: %s",
 			    ssh_remote_ipaddr(ssh), ssh_remote_port(ssh),


This seems to be a upstream bug which has been already fixed.

Please refer to:
https://github.com/openssh/openssh-portable/commit/2dc328023f60212cd29504fc05d849133ae47355

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin mailing list