This is the mail archive of the cygwin 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.7] regression wrt scp?


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/


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