Problem with rsync 3.0.6-1 under 1.7.0-62 and 63

Eliot Moss moss@cs.umass.edu
Sun Nov 8 15:52:00 GMT 2009


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



More information about the Cygwin mailing list