X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C88CD383D814
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1628214990;
	bh=879fdFkHaZd9J3wQr4CoEYUzlJL68Go8I8NZA4wcLxY=;
	h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=PDyy33SCpawDM/t5rSTbz9hH/3m0bm9x5eDh7/oY4zly+T2hMjLG4YBmHtP1Zyljf
	 qiOFGtvhyd6Yrh890P/f9FW3aKxlBRhREonq1pxy1jg9UBM1Jk9s3MojXHB31Sh8fC
	 CZ7aYlQQ+xLZGoJhcwyjpI39MuaaRxKLtDMRa9XA=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 04146384C805
DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-01.nifty.com 1761svdE020157
X-Nifty-SrcIP: [110.4.221.123]
Date: Fri, 6 Aug 2021 10:55:07 +0900
To: cygwin@cygwin.com
Subject: Re: SSHD causes 100% CPU load
Message-Id: <20210806105507.47c573639b0762ba91828023@nifty.ne.jp>
In-Reply-To: <20210806014331.899fb21f181e664663c328ae@nifty.ne.jp>
References: <145999495.20210426124252@cfos.de>
 <1342428656.20210428072302@yandex.ru>
 <20210805191242.b29a3904cbc4d082bdc3dd37@nifty.ne.jp>
 <YQv+rEqA8WiWdkVA@calimero.vinschen.de>
 <20210806014331.899fb21f181e664663c328ae@nifty.ne.jp>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
Mime-Version: 1.0
X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE,
 RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS,
 TXREP autolearn=ham autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Takashi Yano via Cygwin <cygwin@cygwin.com>
Reply-To: Takashi Yano <takashi.yano@nifty.ne.jp>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces+archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>

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>

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
