X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Mon, 26 Jan 2009 02:43:08 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: [1.7] regression wrt scp? Message-ID: <20090126074307.GA32214@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <49644339 DOT 8000508 AT cwilson DOT fastmail DOT fm> <20090108103349 DOT GB14304 AT calimero DOT vinschen DOT de> <20090108161513 DOT GA10914 AT trixie DOT casa DOT cgf DOT cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090108161513.GA10914@trixie.casa.cgf.cx> User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Note-from-DJ: This may be spam I finally managed to duplicate this. On Thu, Jan 08, 2009 at 11:15:13AM -0500, Christopher Faylor wrote: >On Thu, Jan 08, 2009 at 11:33:49AM +0100, Corinna Vinschen wrote: >>On Jan 7 00:52, Charles Wilson wrote: >>> With cygwin-1.7.36: >>> >>> $ scp gcc-tools-autoconf-2.59-10-src.tar.bz2 sources.redhat.com: >>> gcc-tools-autoconf-2.59-10-src.tar.bz2 100% 911KB 60.8KB/s 00:15 >>> >>> With cygwin-1.7.37: >>> >>> $ scp gcc-tools-autoconf-2.59-10-src.tar.bz2 sources.redhat.com: >>> gcc-tools-autoconf-2.59-10-src.tar.bz2 21% 192KB 91.8KB/s - stalled - >>> gcc-tools-autoconf-2.59-10-src.tar.bz2: Broken pipe >>> >>> and has to be killed with CTRL-C. ssh works fine in both cases. >>> >>> Is anybody else seeing this? >> >>I could reproduce it with Cygwin from CVS as well. It did not occur >>over a fast LAN connection, but it occurs reliably over my much slower >>ADSL connection when trying to upload to sourceware. The strace didn't >>exactly enlighten me yet. That's Chris' code and I'm not very familar >>with it. > >It's already on my list to investigate. When I saw "broken pipe" I >thought it could be something in the new pipe code. But, if it is, I can't see it yet. The strace snippet below seems to show that the ssh process which scp forks is expecting for the socket to become writable but that never happens. At time 10048910 you can see 16384 bytes received. Then select() is called to inspect the socket handler for readability/writability. But select claims that the socket handle is never ready. cgf 1047 10039981 [main] ssh 2308 readv: readv (4, 0x221CC0, 1) nonblocking, sigcatchers 6 386 10040367 [main] ssh 2308 peek_pipe: , ready for read: avail 81920 360 10040727 [main] ssh 2308 fhandler_base::ready_for_read: read_ready 1, avail 1 4233 10044960 [main] ssh 2308 fhandler_base::wait_overlapped: normal read, 16384 bytes 1029 10045989 [main] ssh 2308 __set_errno: int fhandler_base::wait_overlapped(bool, bool, DWORD*):1742 val 0 359 10046348 [main] ssh 2308 fhandler_base::read: returning 16384, binary mode 2562 10048910 [main] ssh 2308 readv: 16384 = readv (4, 0x221CC0, 1), errno 0 1071 10049981 [main] ssh 2308 cygwin_select: 7, 0x6E9030, 0x6E9040, 0x0, 0x0 713 10050694 [main] ssh 2308 dtable::select_read: fd 3 345 10051039 [main] ssh 2308 dtable::select_write: fd 3 433 10051472 [main] ssh 2308 cygwin_select: to NULL, ms FFFFFFFF 344 10051816 [main] ssh 2308 cygwin_select: sel.always_ready 0 1473 10053289 [main] ssh 2308 start_thread_socket: stuff_start 0x229C44 1115 10054404 [main] ssh 2308 select_stuff::wait: m 2, ms 4294967295 367 10054771 [select_socket] ssh 2308 thread_socket: stuff_start 0x229C44 390 10055161 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 61530 10116691 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 71665 10188356 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 68540 10256896 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 70495 10327391 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 71157 10398548 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 68720 10467268 [select_socket] ssh 2308 peek_socket: read_ready: 0, write_ready: 0, except_ready: 0 etc. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/