X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Message-ID: <4B8704A6.7060804@cs.umass.edu> Date: Thu, 25 Feb 2010 18:15:50 -0500 From: Eliot Moss User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.8) Gecko/20100216 Thunderbird/3.0.2 MIME-Version: 1.0 To: cygwin , rsync AT lists DOT samba DOT org Subject: Re: cygwin + rsync issue under Windows 7 x64: follow up References: <4B8440BF DOT 8050403 AT cs DOT umass DOT edu> In-Reply-To: <4B8440BF.8050403@cs.umass.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 As I reported yesterday, I had noticed a problem with latest rsync (3.0.7-1) under latest cygwin on Windows 7 x64. Sometimes rsync of a large file over compressed ssh channels goes into a busy wait with no progress, consuming all the cpu. Now I have better evidence that points to something in the cygwin socketpair implementation: I built rsync 3.0.7 from source locally, and found that the "out of the box" version, which has use of socketpair enabled, exhibits the hanging. If I turn off HAVE_SOCKETPAIR in config.status (by manually editing that line), then the resulting rsync works ok. My guess is that this has something to do with detecting whether data is available on one of the sockets. It appears that a chain of processes gets built with pipes/sockets between them for rsync, ssh, and zip. Given that this occurs only sometimes and apparently only on rsync transfers related to large files (but their contents may not have changed much) I am at a loss to come up with a simple test case. Perhaps the rsync implementers can confirm that the only coding difference in the presence of HAVE_SOCKETPAIR is in the construction of communication channels between processes, and that those file descriptors are otherwise used in the same way, with or without socketpair. And perhaps also indicate the style in which rsync uses the sockets? In any case, I take the current evidence as leaning more towards there being a bug in cygwin's socketpair / socket implementation. Again, what further information do you want? Corinna, IIRC, I still have that particular BLODA installed that you wanted me to have to test about the previous issue with socketpair, fixed back in November .... Regards -- Eliot Moss -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple