Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Date: Mon, 5 Aug 2002 14:06:59 +0400 From: egor duda Reply-To: egor duda Organization: deo X-Priority: 3 (Normal) Message-ID: <124668090713.20020805140659@logos-m.ru> To: cygwin-developers AT cygwin DOT com Subject: Re: 1.3.13? In-Reply-To: <20020804195150.GA3381@redhat.com> References: <20020804195150 DOT GA3381 AT redhat DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi! Sunday, 04 August, 2002 Christopher Faylor cgf AT redhat DOT com wrote: CF> I'd like to release 1.3.13. The outstanding issues that I am aware of CF> are Conrad's UNIX domain socket patch and Thomas's pthread patches. CF> Is there anything else? Yes. I have a problem with new thread-pool stuff. When runnint cvs session via ssh i get following strace: 79 10325932 [main] ssh 298 fhandler_base::set_flags: flags 0x10000, supplied_bin 0x0 75 10326007 [main] ssh 298 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000 74 10326081 [main] ssh 298 fhandler_base::set_flags: filemode set to binary 73 10326154 [main] ssh 298 _fcntl: 0 = fcntl (0, 4, 0x0) 438 10326592 [main] ssh 298 cygwin_select: 5, 0xA014A90, 0xA014AA0, 0x0, 0x0 151 10326743 [main] ssh 298 dtable::select_read: /dev/piper fd 0 144 10326887 [main] ssh 298 dtable::select_read: /dev/tcp fd 4 74 10326961 [main] ssh 298 dtable::select_write: /dev/tcp fd 4 75 10327036 [main] ssh 298 cygwin_select: to NULL, ms FFFFFFFF 75 10327111 [main] ssh 298 cygwin_select: sel.always_ready 0 173 10327284 [main] ssh 298 start_thread_socket: Handle 0x114 75 10327359 [main] ssh 298 start_thread_socket: Added to readfds 73 10327432 [main] ssh 298 start_thread_socket: Added to writefds 428 10327860 [main] ssh 298 start_thread_socket: exitsock 0x24 89 10327949 [main] ssh 298 start_thread_socket: stuff_start 0x22FAC4 88 10328037 [select_socket] ssh 298 thread_socket: stuff_start 0xA0797EC 114 10328151 [select_socket] ssh 298 thread_socket: Win32 select returned 1 79 10328230 [select_socket] ssh 298 thread_socket: s 0xA01D100, testing fd 4 (/dev/tcp) 74 10328304 [select_socket] ssh 298 thread_socket: write_ready 336 10328640 [select_pipe] ssh 298 peek_pipe: /dev/piper, ready for read 92 10328732 [main] ssh 298 select_stuff::wait: m 3, ms 4294967295 86 10328818 [main] ssh 298 select_stuff::wait: woke up. wait_ret 1. verifying 78 10328896 [main] ssh 298 select_stuff::wait: gotone 1 74 10328970 [main] ssh 298 select_stuff::wait: returning 0 74 10329044 [main] ssh 298 select_stuff::cleanup: calling cleanup routines 75 10329119 [main] ssh 298 socket_cleanup: si 0xA0767C8 si->thread 0x610B88F0 75 10329194 [main] ssh 298 socket_cleanup: connection to si->exitsock 0x24 713 10329907 [main] ssh 298 socket_cleanup: returning 159 10330066 [main] ssh 298 peek_socket: considering handle 0x114 79 10330145 [main] ssh 298 peek_socket: adding read fd_set /dev/tcp, fd 4 95 10330240 [main] ssh 298 peek_socket: WINSOCK_SELECT returned 0 82 10330322 [main] ssh 298 set_bits: me 0xA01D100, testing fd 4 (/dev/tcp) 86 10330408 [main] ssh 298 set_bits: ready 1 80 10330488 [main] ssh 298 peek_pipe: already ready 74 10330562 [main] ssh 298 set_bits: me 0xA014AB0, testing fd 0 (/dev/piper) 256 10330818 [main] ssh 298 set_bits: ready 1 78 10330896 [main] ssh 298 select_stuff::poll: returning 2 75 10330971 [main] ssh 298 select_stuff::cleanup: calling cleanup routines 74 10331045 [main] ssh 298 select_stuff::~select_stuff: deleting select records 220 10331265 [main] ssh 298 _read: read (0, 0x22DC40, 8192) blocking, sigcatchers 3 110 10331375 [main] ssh 298 peek_pipe: /dev/piper, ready for read 133 10331508 [main] ssh 298 fhandler_base::ready_for_read: read_ready 1, avail 1 99 10331607 [main] ssh 298 fhandler_base::read: returning 375 chars, binary mode 81 10331688 [main] ssh 298 _read: 375 = read (0, 0x22DC40, 8192), errno 2 87 10331775 [main] ssh 298 _write: write (4, 0xA01A020, 20) 79 10331854 [main] ssh 298 fhandler_socket::send: Fallback to winsock 1 send call 93 10331947 [main] ssh 298 _write: 20 = write (4, 0xA01A020, 20) 374 10332321 [main] ssh 298 cygwin_select: 5, 0xA014A90, 0xA014AA0, 0x0, 0x0 265 10332586 [main] ssh 298 dtable::select_read: /dev/piper fd 0 180 10332766 [main] ssh 298 dtable::select_read: /dev/tcp fd 4 76 10332842 [main] ssh 298 dtable::select_write: /dev/tcp fd 4 76 10332918 [main] ssh 298 cygwin_select: to NULL, ms FFFFFFFF 74 10332992 [main] ssh 298 cygwin_select: sel.always_ready 0 148 10333140 [main] ssh 298 start_thread_socket: Handle 0x114 73 10333213 [main] ssh 298 start_thread_socket: Added to readfds 72 10333285 [main] ssh 298 start_thread_socket: Added to writefds 376 10333661 [main] ssh 298 start_thread_socket: exitsock 0x10 87 10333748 [main] ssh 298 start_thread_socket: stuff_start 0x22FAC4 89 10333837 [select_socket] ssh 298 thread_socket: stuff_start 0xA0797EC 110 10333947 [select_socket] ssh 298 thread_socket: Win32 select returned 1 79 10334026 [select_socket] ssh 298 thread_socket: s 0xA01D100, testing fd 4 (/dev/tcp) 77 10334103 [select_socket] ssh 298 thread_socket: write_ready 191 10334294 [main] ssh 298 select_stuff::wait: m 3, ms 4294967295 89 10334383 [main] ssh 298 select_stuff::wait: woke up. wait_ret 1. verifying 77 10334460 [main] ssh 298 select_stuff::wait: gotone 1 81 10334541 [main] ssh 298 select_stuff::wait: returning 0 76 10334617 [main] ssh 298 select_stuff::cleanup: calling cleanup routines 77 10334694 [main] ssh 298 socket_cleanup: si 0xA0767C8 si->thread 0x610B88F0 75 10334769 [main] ssh 298 socket_cleanup: connection to si->exitsock 0x10 674 10335443 [main] ssh 298 socket_cleanup: returning 89 10335532 [main] ssh 298 cygthread::detach: WFSO returns 0 152 10335684 [main] ssh 298 peek_socket: considering handle 0x114 80 10335764 [main] ssh 298 peek_socket: adding read fd_set /dev/tcp, fd 4 92 10335856 [main] ssh 298 peek_socket: WINSOCK_SELECT returned 0 84 10335940 [main] ssh 298 set_bits: me 0xA01D100, testing fd 4 (/dev/tcp) 79 10336019 [main] ssh 298 set_bits: ready 1 91 10336110 [main] ssh 298 select_stuff::poll: returning 1 82 10336192 [main] ssh 298 select_stuff::cleanup: calling cleanup routines 77 10336269 [main] ssh 298 select_stuff::~select_stuff: deleting select records 230 10336499 [main] ssh 298 _write: write (4, 0xA01A020, 244) 79 10336578 [main] ssh 298 fhandler_socket::send: Fallback to winsock 1 send call 93 10336671 [main] ssh 298 _write: 244 = write (4, 0xA01A020, 244) 91 10336762 [main] ssh 298 cygwin_select: 5, 0xA014A90, 0xA014AA0, 0x0, 0x0 151 10336913 [main] ssh 298 dtable::select_read: /dev/piper fd 0 144 10337057 [main] ssh 298 dtable::select_read: /dev/tcp fd 4 75 10337132 [main] ssh 298 cygwin_select: to NULL, ms FFFFFFFF 75 10337207 [main] ssh 298 cygwin_select: sel.always_ready 0 144 10337351 [main] ssh 298 start_thread_socket: Handle 0x114 75 10337426 [main] ssh 298 start_thread_socket: Added to readfds 297 10337723 [main] ssh 298 start_thread_socket: exitsock 0x184 90 10337813 [main] ssh 298 start_thread_socket: stuff_start 0x22FAC4 94 10337907 [select_socket] ssh 298 thread_socket: stuff_start 0xA0797EC 170 10338077 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 459 10338536 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 307 10338843 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 109 10338952 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 87 10339039 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 82 10339121 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 82 10339203 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 80 10339283 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 80 10339363 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 78 10339441 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 The line 78 10339441 [main] ssh 298 cygthread::cygthread: resume thread select_pipe: 0 keeps repeating ad infinitum until interrupted. This line comes from cygthread constructor. I've added debug_printf which prints thread name an outcome from ResumeThread. Looks like pipe thread is not cleaning up properly. I'll try to take a deeper look but meanwhile want to give a heads-up. Egor. mailto:deo AT logos-m DOT ru ICQ 5165414 FidoNet 2:5020/496.19