public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Johannes Khoshnazar-Thoma <johannes@johannesthoma.com>
To: Takashi Yano <takashi.yano@nifty.ne.jp>, cygwin@cygwin.com
Subject: Re: cygwin application hangs on closing console
Date: Wed, 15 May 2024 17:37:17 +0200	[thread overview]
Message-ID: <6dd8a568-88c0-42d5-aa46-b09247cdecec@johannesthoma.com> (raw)
In-Reply-To: <20240423192606.7b4aa04685afca2525eb5ed3@nifty.ne.jp>

Hi again,

Am 23.04.24 um 12:26 schrieb Takashi Yano:
>>> Thanks for the report. Could you please test cygwin1.dll 3.5.3-1
>>> wihch is the latest cygwin release?
>>>

We retried the tests with cygwin1.dll 3.5.3-1 and it looks like
the issue is still there. Here's an excerpt from the gdb debug
session:

(gdb) info thread
   Id   Target Id         Frame                                                                                                                                                                                                               * 1    Thread 0x11cc     0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
   2    Thread 0x8ec      0x00007ffe579d5ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
   3    Thread 0x55c      0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll                                                                                                         4    Thread 0x131c     0x00007ffe579d95f4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
   5    Thread 0x9b8      0x00007ffe579d95f4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll                                                                                               (gdb) thread 1
[Switching to thread 1 (Thread 0x11cc)]                                                                                                                                                                                                      #0  0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
(gdb) bt
#0  0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#1  0x00007ffe54156d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\660F5EEC21e000\KERNELBASE.dll
#2  0x00007ffe4a2033a0 in fhandler_console::close (this=0x800009030) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/fhandler/console.cc:1914
#3  0x00007ffe4a1f6ce7 in fhandler_base::close_with_arch (this=0x800009030) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/fhandler/base.cc:1288
#4  0x00007ffe4a26a4cd in init_cygheap::close_ctty (this=0x800000000) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/mm/cygheap.cc:135
#5  0x00007ffe4a1c7c4e in close_all_files (norelease=norelease@entry=false) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/syscalls.cc:81
#6  0x00007ffe4a146840 in do_exit (status=0) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/dcrt0.cc:1128
#7  0x00007ffe4a1469f7 in _exit (n=<optimized out>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/dcrt0.cc:1243
#8  0x00007ffe4a2a4bb9 in exit (code=0) at /usr/src/debug/cygwin-3.5.3-1/newlib/libc/stdlib/exit.c:65
#9  0x00007ffe4a1469e7 in cygwin_exit (n=5392) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/dcrt0.cc:1237
#10 0x00007ffe4a14809a in dll_crt0_1 () at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/dcrt0.cc:1002
#11 0x00007ffe4a145e08 in _cygtls::call2 (this=0x7ffffce00, func=0x7ffe4a146fb8 <dll_crt0_1(void*)>, arg=0x0, buf=buf@entry=0x7ffffcdf0) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:41
#12 0x00007ffe4a145e86 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:28
#13 0x0000000000000000 in ?? ()
(gdb) thread 2
[Switching to thread 2 (Thread 0x8ec)]
#0  0x00007ffe579d5ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
(gdb) bt
#0  0x00007ffe579d5ee4 in ntdll!ZwReadFile () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#1  0x00007ffe5415e704 in ReadFile () from C:\src\dlls-syms\KERNELBASE.dll\660F5EEC21e000\KERNELBASE.dll
#2  0x00007ffe4a1bada6 in wait_sig () at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/sigproc.cc:1324
#3  0x00007ffe4a144d5f in cygthread::callfunc (this=this@entry=0x7ffe4a335560 <threads>, issimplestub=issimplestub@entry=false) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygthread.cc:48
#4  0x00007ffe4a145270 in cygthread::stub (arg=arg@entry=0x7ffe4a335560 <threads>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygthread.cc:91
#5  0x00007ffe4a145e08 in _cygtls::call2 (this=0xdbce00, func=0x7ffe4a1451ea <cygthread::stub(void*)>, arg=0x7ffe4a335560 <threads>, buf=buf@entry=0xdbcd50) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:41
#6  0x00007ffe4a145e86 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:28
#7  0x00007ffe555584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll
#8  0x00007ffe57981791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#9  0x0000000000000000 in ?? ()
(gdb) thread 3
[Switching to thread 3 (Thread 0x55c)]
#0  0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
(gdb) bt
#0  0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#1  0x00007ffe54156d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\660F5EEC21e000\KERNELBASE.dll
#2  0x00007ffe4a1452ab in cygthread::stub (arg=arg@entry=0x7ffe4a3355b8 <threads+88>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygthread.cc:112
#3  0x00007ffe4a145e08 in _cygtls::call2 (this=0x2aece00, func=0x7ffe4a1451ea <cygthread::stub(void*)>, arg=0x7ffe4a3355b8 <threads+88>, buf=buf@entry=0x2aecd50) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:41
#4  0x00007ffe4a145e86 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:28
#5  0x00007ffe555584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll
#6  0x00007ffe57981791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#7  0x0000000000000000 in ?? ()
(gdb) thread 4
[Switching to thread 4 (Thread 0x131c)]
#0  0x00007ffe579d95f4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
(gdb) bt
#0  0x00007ffe579d95f4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#1  0x00007ffe5794eb5e in ntdll!RtlReleaseSRWLockExclusive () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#2  0x00007ffe4a145e08 in _cygtls::call2 (this=0x323ce00, func=0x7ffe5794e3f0 <ntdll!RtlReleaseSRWLockExclusive+8704>, arg=0xc0b60, buf=buf@entry=0x323cd50) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:41
#3  0x00007ffe4a145e86 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:28
#4  0x00007ffe555584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll
#5  0x00007ffe57981791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#6  0x0000000000000000 in ?? ()
(gdb) thread 5
[Switching to thread 5 (Thread 0x9b8)]
#0  0x00007ffe579d95f4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
(gdb) bt
#0  0x00007ffe579d95f4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#1  0x00007ffe5794eb5e in ntdll!RtlReleaseSRWLockExclusive () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#2  0x00007ffe4a145e08 in _cygtls::call2 (this=0x343ce00, func=0x7ffe5794e3f0 <ntdll!RtlReleaseSRWLockExclusive+8704>, arg=0xc0b60, buf=buf@entry=0x343cd50) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:41
#3  0x00007ffe4a145e86 in _cygtls::call (func=<optimized out>, arg=<optimized out>) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/cygtls.cc:28
#4  0x00007ffe555584d4 in KERNEL32!BaseThreadInitThunk () from C:\src\dlls-syms\kernel32.dll\640993B0ad000\kernel32.dll
#5  0x00007ffe57981791 in ntdll!RtlUserThreadStart () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
#6  0x0000000000000000 in ?? ()
(gdb) thread 6
Unknown thread 6.
(gdb) thread 1
[Switching to thread 1 (Thread 0x11cc)]
#0  0x00007ffe579d5ea4 in ntdll!ZwWaitForSingleObject () from C:\src\dlls-syms\ntdll.dll\6502806A1cf000\ntdll.dll
(gdb) up
#1  0x00007ffe54156d1f in WaitForSingleObjectEx () from C:\src\dlls-syms\KERNELBASE.dll\660F5EEC21e000\KERNELBASE.dll
(gdb)
#2  0x00007ffe4a2033a0 in fhandler_console::close (this=0x800009030) at /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/fhandler/console.cc:1914
1914    in /usr/src/debug/cygwin-3.5.3-1/winsup/cygwin/fhandler/console.cc
(gdb) p thread_sync_event
$6 = (HANDLE) 0x1510
(gdb) p name
$7 = "cygcons.thread_sync.0", '\000' <repeats 19 times>, "r", '\000' <repeats 183 times>...
(gdb) p con.owner
No symbol "con" in current context.
(gdb) p master_thread_started
$8 = true
(gdb) p unit
$9 = 0
(gdb) p shared_console_info
$10 = {0x1a0030000, 0x0 <repeats 64 times>}
(gdb)

It looks like the master_thread already exited while thread 1 is waiting for some event
to be set (but I am not at all a cygwin expert). The executable (drbdsetup.exe) was running
from a Windows Service.

Please reach out if you need more information.

Best regards,

- Johannes

  reply	other threads:[~2024-05-15 15:37 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-22 12:50 Johannes Khoshnazar-Thoma
2024-04-22 18:51 ` Takashi Yano
2024-04-23  9:20   ` Johannes Khoshnazar-Thoma
2024-04-23 10:26     ` Takashi Yano
2024-05-15 15:37       ` Johannes Khoshnazar-Thoma [this message]
2024-05-15 15:48         ` Johannes Khoshnazar-Thoma
2024-05-15 20:24           ` Brian Inglis
2024-05-21 16:23             ` Johannes Khoshnazar-Thoma
2024-06-03 13:20               ` Johannes Khoshnazar-Thoma
2024-06-28 12:17                 ` Takashi Yano
2024-06-28 15:32                   ` Takashi Yano
2024-07-01 11:47                     ` Johannes Khoshnazar-Thoma
2024-07-01 13:20                       ` Takashi Yano
2024-07-01 13:36                       ` Takashi Yano
2024-05-16  9:14           ` Takashi Yano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6dd8a568-88c0-42d5-aa46-b09247cdecec@johannesthoma.com \
    --to=johannes@johannesthoma.com \
    --cc=cygwin@cygwin.com \
    --cc=takashi.yano@nifty.ne.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).