X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 317D73858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=ispras.ru Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ispras.ru MIME-Version: 1.0 Date: Sat, 09 Apr 2022 19:07:08 +0300 From: Alexey Izbyshev To: Takashi Yano Subject: Re: Deadlock of the process tree when running make In-Reply-To: <20220409204619.dd0e53902d5e108ef462e510@nifty.ne.jp> References: <9388316255ada0e0fcb2d849cce5a894 AT ispras DOT ru> <20220409191743 DOT 6da2268a36e8c9b4ab22c722 AT nifty DOT ne DOT jp> <1ecd670b1cdff43e0b0d7e5ee4c9cfc5 AT ispras DOT ru> <20220409204619 DOT dd0e53902d5e108ef462e510 AT nifty DOT ne DOT jp> User-Agent: Roundcube Webmail/1.4.4 Message-ID: <907ce1b4416a826cb07990dd601bd687@ispras.ru> X-Sender: izbyshev AT ispras DOT ru X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00, DOS_RCVD_IP_TWICE_B, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no 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 AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: cygwin AT cygwin DOT com Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On 2022-04-09 14:46, Takashi Yano wrote: > On Sat, 09 Apr 2022 14:02:38 +0300 > Alexey Izbyshev wrote: >> >> Missed the line in the link above: >> https://cygwin.com/git?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/fhandler_tty.cc;h=7bef6958c106c5e78cc90e014081022fd3a205bc;hb=cygwin-3_3_4-release#l1199 > > Thanks for finding that. It would be very helpfull if you could > find another process which holds pcon_mutex and where it is stopping. ProcessHacker showed that the owner of the pcon mutex is bash.exe with (Windows) PID 6276. However, Cygwin ps doesn't list such a process. Its parent, however, has a Cygwin PID 37961 and is in the hanging tree: make(32651)-+-make(32656)-+-bash(37296)---find(38057) | |-bash(37632)---find(38061) | |-bash(37415)---find(38064) | |-bash(37852)---find(38062) | |-bash(37896)---find(38063) | `-bash(37961)---javac(38032) `-make(32657)-+-bash(38025)---bash(38054)---bash(38055)---readlink(38056) `-bash(37722)---bash(37825)---bash(38058)-+-grep(38060) `-grep(38059) Since javac(38032) is a zombie, my guess is that missing bash.exe (win 6276) is an intermediate process that Cygwin created when bash(37961) forked to run javac. bash.exe (win 6276) has two threads. The first one is blocked at ClosePseudoConsole() (which according to stack trace eventually calls NtWaitForSingleObject()) [1] and the second one is at [2]. [1] https://cygwin.com/git?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/fhandler_tty.cc;h=7bef6958c106c5e78cc90e014081022fd3a205bc;hb=cygwin-3_3_4-release#l3615 [2] https://cygwin.com/git?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/sigproc.cc;h=02d875a7fc947d628ca933690ed43ef03d767d53;hb=cygwin-3_3_4-release#l1359 Hope this is helpful, Alexey -- 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