Cygwin1.dll 1.7.0-5x: RSYNC failures in close() system call on pipe file descriptors

cygwin karl@sipxx.com
Thu Aug 13 22:01:00 GMT 2009


After updating 2 other systems to cygwin 1.7, I find that they also work 
fine in the same test.
However, that doesn't help much debugging this.
I found that the problem on the failing system is related to using Unix 
domain sockets for the IPC pipes.
If I replace the socketpair() call in fd_pair() in file util.c with 
pipe(), everything works fine.
int fd_pair(int fd[2])
{
 int ret;
//#ifdef HAVE_SOCKETPAIR
// ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
//#else
 ret = pipe(fd);
//#endif
 if (ret == 0) {
 set_nonblocking(fd[0]);
 set_nonblocking(fd[1]);
 }
 return ret;
}
The fact that cygwin 1.5 works fine on this system indicates that 
something is going wrong in 1.7 cygwin1.dll triggered by some conditions 
on this particular system.
Corinna Vinschen wrote:
> On Aug 13 13:17, cygwin wrote:
>>> The RSYNC application fails in close() on the pipe streams to and from 
>> child processes created when rsync starts.
>> When running rsync.exe and cygwin1.dll from cygwin 1.5 within the 1.7 
>> installation on the same system (WinXP pro),
>> the identical invocation completes without errors.
>>>> The problems appears to be a bug in the cygwin.dll
>>>> For example,
>>>> $ rsync -a /etc /test
>>>> produces the following messages:
>>>> rsync: Failed to dup/close: Socket operation on non-socket (108)
>> rsync error: error in IPC code (code 14) at pipe.c(147) [receiver=3.0.5]
>> rsync: read error: Connection reset by peer (104)
>> rsync error: error in IPC code (code 14) at io.c(759) [sender=3.0.5]
>>>> I tested the exact above command with cygwin 1.7-0-58 and rsync-3.0.5-1
> on Windows 7, WIndows Server 2008 SP2, as well as on XP SP3.
>> Works fine for me on all three systems.
>>> Corinna
>>
--
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

AltStyle によって変換されたページ (->オリジナル) /