DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 56GCFIGF3013386 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 56GCFIGF3013386 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=tSf+67b4 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D96423857BA0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1752668116; bh=FUP82sAhMuXKaoPx8sKcbhMFOKwQrHnoBnxuJihxn/Q=; 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=tSf+67b4hCq0v2N1ndAIg8wgbNmc0Vwvf9eNIMv1M7K2b0PEI5AgFgx60TF7bGFfI jw4ElEeO2trX3oqh1nhZJ9uRHj14F0uPLm1NWvCKCRuXbnw3oknyQ5FpT38QyqUwcu QkYVgnfxdeEHUzSVHZhcLiY6Awqt1du97p3dsujU= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 678923857C6D ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 678923857C6D ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752668043; cv=none; b=DIznYYhHJi4A5RY8Q/vVOuhpvtGILzGLg8jYmoCc6MwQZNgw+eQuSqlXpRa5R/pGu4FR8E6OAlJhfec8eul9TLel6FneMaC/CQLwNXl8kQR3qZ1qlMu4IzQG9zDxw91fdc6X5W6QCnA7EwoJJoWs98s4IChWW1TIYi0mNZl8Q8o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752668043; c=relaxed/simple; bh=l/3pDC6glB53DVS2Y6di8uacGE7lO6XrupF60Fpsj+c=; h=Date:From:To:Subject:Message-Id:Mime-Version:DKIM-Signature; b=pNICtVOxdteJEHAS1Kd3XrjNRJ1M4QLAp+apatZOVRR/qrcE8ASx8FbYBSuJSieMCwApk4mCpQJt6TODm0zQdhqGCu6gWnVJA+A+d7xGaO072PIPGY/pohxFzOFCUSGbtbldDIBPZyAjSyshfpxjhODlyDPCVjy4R/4Yx0Khn9M= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 678923857C6D Date: Wed, 16 Jul 2025 21:13:59 +0900 To: cygwin AT cygwin DOT com Subject: Re: doxygen hangs when many call graphs are generated. Message-Id: <20250716211359.8f40e5248fe69b9033cba081@nifty.ne.jp> In-Reply-To: <20250617214647.ed6f64d44a665820a3fbd1b9@nifty.ne.jp> References: <20250617214647 DOT ed6f64d44a665820a3fbd1b9 AT nifty DOT ne DOT jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Takashi Yano via Cygwin Reply-To: Takashi Yano Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Tue, 17 Jun 2025 21:46:47 +0900 Takashi Yano wrote: > I encountered a problem of doxygen when many call graphs are generated. > > How to reproduce: > 1) Make a empty directory. > 2) Place two files (Doxyfile, x.c) attached in the directory. > 3) Run doxygen in the directory. > > It seems that this is a bug of cygwin1.dll and the cause is > a deadlock in newlib/libc/stdio/findfp.c:__fp_lock_all(). > > The following patch solves the issue, however, I am not sure > this is the right thing at all. > > diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c > index 2cc549537..3de6b33fd 100644 > --- a/newlib/libc/stdio/findfp.c > +++ b/newlib/libc/stdio/findfp.c > @@ -298,7 +298,9 @@ __fp_unlock (struct _reent * ptr __unused, FILE * fp) > void > __fp_lock_all (void) > { > +#ifndef __CYGWIN__ > __sfp_lock_acquire (); > +#endif > (void) _fwalk_sglue (NULL, __fp_lock, &__sglue); > } > > @@ -306,6 +308,8 @@ void > __fp_unlock_all (void) > { > (void) _fwalk_sglue (NULL, __fp_unlock, &__sglue); > +#ifndef __CYGWIN__ > __sfp_lock_release (); > +#endif > } > #endif > > Any suggenstions? The same hang happened while building aom package with doxygen. Above patch also solves the issue. Any idea? -- Takashi Yano -- 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