X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Message-ID: <4AF6E12C.3030307@cs.umass.edu> Date: Sun, 08 Nov 2009 10:18:04 -0500 From: Eliot Moss User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Problem with rsync 3.0.6-1 under 1.7.0-62 and 63 References: <4AF5A3B3 DOT 7010403 AT monai DOT ca> <4AF5AD99 DOT 2040305 AT cs DOT umass DOT edu> <4AF5C2E1 DOT 6010701 AT monai DOT ca> <4AF5FB1D DOT 5010609 AT cs DOT umass DOT edu> <4AF64CDD DOT 7000405 AT monai DOT ca> <4AF67C20 DOT 8060707 AT cs DOT umass DOT edu> <4AF6DE22 DOT 6080402 AT cs DOT umass DOT edu> In-Reply-To: <4AF6DE22.6080402@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 Eliot Moss wrote: > Eliot Moss wrote: >> Tried two more things ... >> >> - rsync in the opposite direction fails in the same way >> >> - adding --protocol=29 (to match the remote end) did not >> change the behavor >> >> Unfortunately no other version of rsync is available with >> cygwin 1.7.x, so I can't simply install an earlier version. >> I think I'll need to obtain source and build it myself. >> Maybe later today .... > > Rebuilding from source had no effect -- I did apply first > the 3.0.6-1.src patch and then the cygwin patch. > > So I tried strace to get more info. The first failure is > at a dup2 call immediately after a fork() call. The dup2 > args are (3, 0) and Win32 returns error 6, which cygwin > translates to 9 (EBADF). Near as I can tell, fd 3 is a > socket. > > The code is in piped_child in pipe.c; here is the comment > at the top of that routine: > > /** > * Create a child connected to us via its stdin/stdout. > * > * This is derived from CVS code > * > * Note that in the child STDIN is set to blocking and STDOUT > * is set to non-blocking. This is necessary as rsh relies on stdin > being blocking > * and ssh relies on stdout being non-blocking > * > * If blocking_io is set then use blocking io on both fds. That can be > * used to cope with badly broken rsh implementations like the one on > * Solaris. > **/ > > Not sure if I am reporting the most helpful stuff, but there > it is. Any ideas on how I can help resolve this? There does > not seem to be anything like this reported in the rsync list, > so I think it's particular to cygwin, and probably to 1.7.x. Btw, this seems related to the rsync problem on close, for which there was discussion back in August (msg 153806 is at the end of that thread). Cheers -- Eliot -- 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