doxygen hangs when many call graphs are generated.

Takashi Yano takashi.yano@nifty.ne.jp
Tue Jun 17 12:46:47 GMT 2025


Hi,

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?

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Doxyfile
URL: <https://cygwin.com/pipermail/cygwin/attachments/20250617/f33a5c74/attachment-0001.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x.c
Type: text/x-csrc
Size: 3182 bytes
Desc: not available
URL: <https://cygwin.com/pipermail/cygwin/attachments/20250617/f33a5c74/attachment-0001.bin>


More information about the Cygwin mailing list