Hi cygwin team :) I have found something what may be a cygwin bug. Sometimes (1 out of 1000 times) a drbdadm.exe process (which is part of WinDRBD's user mode programs originally written for Linux) hangs for several days on exiting (closing the console). I got a minidump and analyzed the dump with gdb (the minidump enabled version at https://github.com/ssbssa/gdb)
I have to note that the application (drbdadm.exe) is run from a Windows Service. Furthermore it is not a full cygwin installation however the cygwin1.dll (3.4.10-1) is in the $PATH. here is the gdb output: (gdb) info thread Id Target Id Frame * 1 Thread 0x14c8 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 2 Thread 0x2e0 0x00007ffc6a405ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 3 Thread 0x1060 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 4 Thread 0x858 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 5 Thread 0xe40 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) thread 1 [Switching to thread 1 (Thread 0x14c8)] #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) bt #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #1 0x00007ffc66826d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll #2 0x00007ffc492ebb42 in fhandler_console::close (this=0x800007f20) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/fhandler/console.cc:1769 #3 0x00007ffc492dc365 in fhandler_base::close_with_arch (this=0x800007f20) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/fhandler/base.cc:1202 #4 0x00007ffc49353640 in init_cygheap::close_ctty (this=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/mm/cygheap.cc:133 #5 0x00007ffc492aee9f in close_all_files (norelease=norelease@entry=false) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/syscalls.cc:81 #6 0x00007ffc49226763 in do_exit (status=0) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:1125 #7 0x00007ffc4922693f in _exit (n=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:1240 #8 0x00007ffc49390899 in exit (code=0) at /usr/src/debug/cygwin-3.4.10-1/newlib/libc/stdlib/exit.c:65 #9 0x00007ffc49226923 in cygwin_exit (n=568) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:1234 #10 0x00007ffc492280aa in dll_crt0_1 () at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:999 #11 0x00007ffc49225c86 in _cygtls::call2 (this=0x7ffffce00, func=0x7ffc49226f80 <dll_crt0_1(void*)>, arg=0x0, buf=buf@entry=0x7ffffcdf0) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:41 #12 0x00007ffc49225d34 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:28 #13 0x0000000000000000 in ?? () (gdb) thread 1 [Switching to thread 1 (Thread 0x14c8)] #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) info thread Id Target Id Frame * 1 Thread 0x14c8 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 2 Thread 0x2e0 0x00007ffc6a405ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 3 Thread 0x1060 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 4 Thread 0x858 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll 5 Thread 0xe40 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) bt #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #1 0x00007ffc66826d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll #2 0x00007ffc492ebb42 in fhandler_console::close (this=0x800007f20) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/fhandler/console.cc:1769 #3 0x00007ffc492dc365 in fhandler_base::close_with_arch (this=0x800007f20) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/fhandler/base.cc:1202 #4 0x00007ffc49353640 in init_cygheap::close_ctty (this=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/mm/cygheap.cc:133 #5 0x00007ffc492aee9f in close_all_files (norelease=norelease@entry=false) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/syscalls.cc:81 #6 0x00007ffc49226763 in do_exit (status=0) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:1125 #7 0x00007ffc4922693f in _exit (n=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:1240 #8 0x00007ffc49390899 in exit (code=0) at /usr/src/debug/cygwin-3.4.10-1/newlib/libc/stdlib/exit.c:65 #9 0x00007ffc49226923 in cygwin_exit (n=568) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:1234 #10 0x00007ffc492280aa in dll_crt0_1 () at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/dcrt0.cc:999 #11 0x00007ffc49225c86 in _cygtls::call2 (this=0x7ffffce00, func=0x7ffc49226f80 <dll_crt0_1(void*)>, arg=0x0, buf=buf@entry=0x7ffffcdf0) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:41 #12 0x00007ffc49225d34 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:28 #13 0x0000000000000000 in ?? () (gdb) thread 2 [Switching to thread 2 (Thread 0x2e0)] #0 0x00007ffc6a405ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) bt #0 0x00007ffc6a405ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #1 0x00007ffc6682e704 in ReadFile () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll #2 0x00007ffc4929f541 in wait_sig () at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/sigproc.cc:1331 #3 0x00007ffc49224aa3 in cygthread::callfunc (this=this@entry=0x7ffc49416880 <threads>, issimplestub=issimplestub@entry=false) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygthread.cc:48 #4 0x00007ffc49225066 in cygthread::stub (arg=arg@entry=0x7ffc49416880 <threads>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygthread.cc:91 #5 0x00007ffc49225c86 in _cygtls::call2 (this=0x10ece00, func=0x7ffc49224fe0 <cygthread::stub(void*)>, arg=0x7ffc49416880 <threads>, buf=buf@entry=0x10ecd50) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:41 #6 0x00007ffc49225d34 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:28 #7 0x00007ffc691584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll #8 0x00007ffc6a3b1791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #9 0x0000000000000000 in ?? () (gdb) thread 3 [Switching to thread 3 (Thread 0x1060)] #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) bt #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #1 0x00007ffc66826d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll #2 0x00007ffc492250a1 in cygthread::stub (arg=arg@entry=0x7ffc494168d8 <threads+88>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygthread.cc:112 #3 0x00007ffc49225c86 in _cygtls::call2 (this=0x19bce00, func=0x7ffc49224fe0 <cygthread::stub(void*)>, arg=0x7ffc494168d8 <threads+88>, buf=buf@entry=0x19bcd50) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:41 #4 0x00007ffc49225d34 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:28 #5 0x00007ffc691584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll #6 0x00007ffc6a3b1791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #7 0x0000000000000000 in ?? () (gdb) thread 4 [Switching to thread 4 (Thread 0x858)] #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) bt #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #1 0x00007ffc66826d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll #2 0x00007ffc492250a1 in cygthread::stub (arg=arg@entry=0x7ffc49416930 <threads+176>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygthread.cc:112 #3 0x00007ffc49225c86 in _cygtls::call2 (this=0x22fce00, func=0x7ffc49224fe0 <cygthread::stub(void*)>, arg=0x7ffc49416930 <threads+176>, buf=buf@entry=0x22fcd50) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:41 #4 0x00007ffc49225d34 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:28 #5 0x00007ffc691584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll #6 0x00007ffc6a3b1791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #7 0x0000000000000000 in ?? () (gdb) thread 5 [Switching to thread 5 (Thread 0xe40)] #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) bt #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #1 0x00007ffc66826d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll #2 0x00007ffc492250a1 in cygthread::stub (arg=arg@entry=0x7ffc49416988 <threads+264>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygthread.cc:112 #3 0x00007ffc49225c86 in _cygtls::call2 (this=0x24fce00, func=0x7ffc49224fe0 <cygthread::stub(void*)>, arg=0x7ffc49416988 <threads+264>, buf=buf@entry=0x24fcd50) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:41 #4 0x00007ffc49225d34 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/cygtls.cc:28 #5 0x00007ffc691584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll #6 0x00007ffc6a3b1791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll #7 0x0000000000000000 in ?? () (gdb) p master_thread_started $7 = true (gdb) thread 1 [Switching to thread 1 (Thread 0x14c8)] #0 0x00007ffc6a405ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll (gdb) up #1 0x00007ffc66826d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\6502815021e000\KERNELBASE.dll (gdb) #2 0x00007ffc492ebb42 in fhandler_console::close (this=0x800007f20) at /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/fhandler/console.cc:1769 1769 in /usr/src/debug/cygwin-3.4.10-1/winsup/cygwin/fhandler/console.cc (gdb) p name $8 = "cygcons.thread_sync.0", '\000' <repeats 19 times>, "r", '\000' <repeats 151 times>, "^8\025\r!‘\000\000"... (gdb) p myself $9 = {<pinfo_minimal> = {h = 0x118, hProcess = 0x0, rd_proc_pipe = 0x0}, destroy = false, winpid_hdl = 0x11c, procinfo = 0x1a2000000, waiter_ready = false, wait_thread = 0x0} It looks like the cons_master_thread already exited, maybe clearing the master_thread_started flag in that case helps? but this is only a wild guess ... If you need more information, please let me know. Thanks a lot and Best regards, - Johannes -- 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