From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.133]) by sourceware.org (Postfix) with ESMTPS id A7F303858CDA for ; Tue, 10 Jan 2023 10:57:28 +0000 (GMT) Authentication-Results: sourceware.org; dmarc=permerror header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1My2lr-1oqGds1cUB-00zaGG for ; Tue, 10 Jan 2023 11:57:27 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id 6F463A80A3A; Tue, 10 Jan 2023 11:57:26 +0100 (CET) Date: Tue, 10 Jan 2023 11:57:26 +0100 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: Cygwin 3.4.3 and 3.5.0... hangs in make, top, procps, ls /proc/PID/... Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <4a4427cc-422b-1d14-015e-26523e620d9b@Shaw.ca> <20230102113201.476c10bef7a5643bddc00762@nifty.ne.jp> <20230110190145.ed5438f6c7a9d979899fa823@nifty.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230110190145.ed5438f6c7a9d979899fa823@nifty.ne.jp> X-Provags-ID: V03:K1:IdYjaO9Id05FV8+/WIWA3DTgXt6vQHBTf+btO+S6k+Ubfz3H8V0 iqCop7bh0qq+ohVjyeEXUam4zWIOt+U46YO9U3llWxlairG0kqlqPMY3BaNbTMZcEQagTTv KB8pV7kaCRMoDzwO7BixfbRgidz3VBt4Z8deYnvpSKI75ekUWhaJGYXmPt4K/6/ejW6sQk9 BfHCrQf+lbYAUWs61DIVw== UI-OutboundReport: notjunk:1;M01:P0:JqY/fQJwzl0=;QFCGNPMgQDCI2CrgiPGuX7gobGv kzBUQzZoZajojYQYWRVzP9qKRFkdhaoQJEm5xryGPhqoRQatAInmCt6ARwcqJX5QlS/Si7bEk lP77x7/E+LbEdmDnNkYNrkQoNRAk54uasph0MB4ImP5Gcer0/wRy2Xa5nbYNv96VZATU2v7cN xHMTxCktKOrSvAJ/zcEcS8V7s7+QGqXVXUDooWVjdzH9E/FmbsMcMrD125YmdM02gieVCjNVF Uj03+1sHT4OvO2a1gsvXDoXQd80t4X05zwOd1bPvisja9MuUF6nyaluI7/lr+AHmoCJNAeixp Oar4opulK6iKBQTQqVWGKtEIJyOPflH2Irj0IMJNjURF0ciJ90yyWOzfY2Oo9eFQfRli+Z25A BPcPtK2hZsBVEbOtV7sHe/msL1dQ3MRtJupIyrFPP6dG6+QCV9axaxCGbODVolfvSnuXscki8 KltU/0zbBNZvc+LlimROGg4TBTiAcn5ldMpiNSF08XatOOWigtxMes9awVrU6aMwAazdG4Dv6 AkNT+UauNyuk77XN4v+PQ0pVZRvXIRhpbW9o/HURYmkR3s2N0XhozE0sD4cRPxm8xL2BOaL5w myvLSzvKcyonYiK+a0daWf7GeLkR8fA2YKLjgQMms8lzGvrrKgQm2gEte9lEixjZnzxGXJhGv xCNmmQcAJswigXaS6oO8CKqTsbqo6QHc8mlXvtvdSg== X-Spam-Status: No, score=-102.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,GOOD_FROM_CORINNA_CYGWIN,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_FAIL,SPF_HELO_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Jan 10 19:01, Takashi Yano via Cygwin wrote: > On Mon, 9 Jan 2023 18:13:26 +0100 > Corinna Vinschen wrote: > > If q->sigtls is NULL, the signal is nevertheless waiting for being > > handled. It's just not directed at a specific thread. Beats me, why > > this didn't occur in my testing. The process signal info should contain > > the process-wide mask of pending signals as well, obviously, so the > > following patch should do the right thing: > > > > diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc > > index ce36c8be37fb..86e4e607ab7e 100644 > > --- a/winsup/cygwin/sigproc.cc > > +++ b/winsup/cygwin/sigproc.cc > > @@ -1375,7 +1375,8 @@ wait_sig (VOID *) > > *pack.mask = 0; > > while ((q = q->next)) > > { > > - if (q->sigtls->sigmask & (bit = SIGTOMASK (q->si.si_signo))) > > + _cygtls *sigtls = q->sigtls ?: _main_tls; > > + if (sigtls->sigmask & (bit = SIGTOMASK (q->si.si_signo))) > > { > > tl_entry = cygheap->find_tls (q->si.si_signo, issig_wait); > > if (tl_entry) > > > > Can you confirm? > > I confirmed that your patch fixes the issue. > > This issue can be easily reproduced in my environment by: > 1) Open two mintty windows. > 2) Run "while true; do procps; done" in one mintty. > 3) Build cygwin1.dll in another window. > Build hangs in a short time and response of procps slows down. Great. I pushed the patch. The next test relaese cygwin-3.5.0-0.76.g7c14e5a10add contains this patch. Thanks, Corinna