DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 56GEfPoB3142203 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 56GEfPoB3142203 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=DWNrNuPB X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4B4723857B94 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1752676883; bh=+d5aQ91ukxUeMLlNdLejJYxskTRnixRaNMdHkQDzst0=; 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=DWNrNuPBRt6ikaJLyFYju1o1hNnUiLxBKeHiVJKurawXUZdCDz53ZIc6TrJnXdUDT WS+hcJs32udiQi0pCTJiW7nPlQ2W1ZbZVaYJbFFmQdsFuzcpqUyP0Hk3e8jAzvGLFW j7SNUHG88T+s0wHNNdEeBKirI3yJn6hV2iN46OvE= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EE4DE3857BA7 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EE4DE3857BA7 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752676821; cv=none; b=gEf2AJcdKeo9pzKoJ3VKeeJX0RwE3pmulzdmiOct0fp8UocnXzAzVA68C1Rj11wR2999eAaWFmLGWGVxsXlH6VTP6mCENw0i2+DpTjJUuuXT4cHf4i45XrrMqmYzbxzcxtJSGsDeCf7LqWXs0hoAtvmGegwCzxHAVuUIsgQjE00= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752676821; c=relaxed/simple; bh=r4XkuXlqcvfNKzV7P3xK5xy2yQ8jf2+xCH8jmd3659g=; h=Date:From:To:Subject:Message-Id:Mime-Version:DKIM-Signature; b=MYRooVAi02OtqPVeZh2L1GVaGBCTjeMiM0QwrYLpiOam2jliIavj1gxw2O3rXe8hOz0Xb5uilDNlskGQlgbwtfOWba7IgsMQNkR3A9Q9wX7WrpMpqnAAe05HvzCn0oRPXrSVWoQ7i+nLndW5UFhKJu6fB2bmIEaTRUqV+SBWRMc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EE4DE3857BA7 Date: Wed, 16 Jul 2025 23:40:18 +0900 To: cygwin AT cygwin DOT com, newlib AT sourceware DOT org Subject: Re: doxygen hangs when many call graphs are generated. Message-Id: <20250716234018.29aab59e9d5fe8d29f0d7a49@nifty.ne.jp> In-Reply-To: <20250716224532.311e0e5542d8f5c546bc3ce5@nifty.ne.jp> References: <20250617214647 DOT ed6f64d44a665820a3fbd1b9 AT nifty DOT ne DOT jp> <20250716211359 DOT 8f40e5248fe69b9033cba081 AT nifty DOT ne DOT jp> <20250716213604 DOT 539ada3b63feb7c9e5c3ab05 AT nifty DOT ne DOT jp> <20250716224532 DOT 311e0e5542d8f5c546bc3ce5 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 Wed, 16 Jul 2025 22:45:32 +0900 Takashi Yano via Cygwin wrote: > On Wed, 16 Jul 2025 21:36:04 +0900 > Takashi Yano via Cygwin wrote: > > On Wed, 16 Jul 2025 21:13:59 +0900 > > Takashi Yano via Cygwin wrote: > > > > > 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(). > > A simple reproducer is as follows. > > #include > #include > #include > #include > > void *func(void *arg) > { > while (1) { > FILE *f = fopen("/usr/bin/cygwin1.dll", "r"); /* Open something */ > fclose(f); > } > return NULL; > } > > int main() > { > pthread_t th; > pthread_create(&th, NULL, func, NULL); > int cnt = 0; > while (1) { > if (fork() == 0) { > return 0; > } else { > wait(NULL); > printf("Done %d\n", cnt++); > } > } > } I have submitted a patch for this issue to newlib mailing list. -- 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