This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.3.13?


Hi!

Sunday, 04 August, 2002 Christopher Faylor cgf@redhat.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@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]