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: rsync + xp sp2 failing


On Sep  9 17:21, Joel wrote:
> Bob Byrnes wrote:
> >If you can reproduce this using strace, the last hundred lines or so
> >of the strace output might be enlightening.
> 
> Here's the strace output:

...which is rather interesting.  As you already noticed, this doesn't
happen before installing SP2.

First socketpair creation:

> 237736  384833 [main] rsync 2340 fdsock: reset socket inheritance since 
> winsock2_active 1
>   228  385061 [main] rsync 2340 build_fh_pc: fh 0x61781468
>   142  385203 [main] rsync 2340 fhandler_base::set_flags: flags 
> 0x10002, supplied_bin 0x0
>   123  385326 [main] rsync 2340 fhandler_base::set_flags: 
> O_TEXT/O_BINARY set in flags 0x10000
>   120  385446 [main] rsync 2340 fhandler_base::set_flags: filemode set 
> to binary
>   123  385569 [main] rsync 2340 fdsock: fd 3, name '', soc 0x510
>   154  385723 [main] rsync 2340 fdsock: reset socket inheritance since 
> winsock2_active 1
>   144  385867 [main] rsync 2340 build_fh_pc: fh 0x61781890
>   127  385994 [main] rsync 2340 fhandler_base::set_flags: flags 
> 0x10002, supplied_bin 0x0
>   299  386293 [main] rsync 2340 fhandler_base::set_flags: 
> O_TEXT/O_BINARY set in flags 0x10000
>   148  386441 [main] rsync 2340 fhandler_base::set_flags: filemode set 
> to binary
>   119  386560 [main] rsync 2340 fdsock: fd 4, name '', soc 0x54C
>   124  386684 [main] rsync 2340 socketpair: 0 = socketpair (...)

Looks good.

Second socketpair creation:

>  9505  399384 [main] rsync 2340 fdsock: reset socket inheritance since 
> winsock2_active 1
>   228  399612 [main] rsync 2340 build_fh_pc: fh 0x61781CB8
>   310  399922 [main] rsync 2340 fhandler_base::set_flags: flags 
> 0x10002, supplied_bin 0x0
>   153  400075 [main] rsync 2340 fhandler_base::set_flags: 
> O_TEXT/O_BINARY set in flags 0x10000
>   123  400198 [main] rsync 2340 fhandler_base::set_flags: filemode set 
> to binary
>   120  400318 [main] rsync 2340 fdsock: fd 5, name '', soc 0x4D4
>   150  400468 [main] rsync 2340 fdsock: reset socket inheritance since 
> winsock2_active 1
>   180  400648 [main] rsync 2340 build_fh_pc: fh 0x617820E0
>   128  400776 [main] rsync 2340 fhandler_base::set_flags: flags 
> 0x10002, supplied_bin 0x0
>   114  400890 [main] rsync 2340 fhandler_base::set_flags: 
> O_TEXT/O_BINARY set in flags 0x10000
>   115  401005 [main] rsync 2340 fhandler_base::set_flags: filemode set 
> to binary
>   113  401118 [main] rsync 2340 fdsock: fd 6, name '', soc 0x508
>   118  401236 [main] rsync 2340 socketpair: 0 = socketpair (...)

Looks good, too.

And now for something completely different, the first fork.  Socket handles
are duplicated:

>  1031  420063 [main] rsync 2340 dtable::fixup_before_fork: fd 3 ()
>   498  420561 [main] rsync 2340 
> fhandler_socket::fixup_before_fork_exec: WSADuplicateSocket error, sock 
> 0x510, win_proc_id 1684, prot_info_ptr 0x61781670
>   279  420840 [main] rsync 2340 __set_winsock_errno: 
> fixup_before_fork_exec:269 - winsock error 10045 -> errno 95
>   157  420997 [main] rsync 2340 dtable::fixup_before_fork: fd 4 ()
>   176  421173 [main] rsync 2340 
> fhandler_socket::fixup_before_fork_exec: WSADuplicateSocket error, sock 
> 0x54C, win_proc_id 1684, prot_info_ptr 0x61781A98
>   138  421311 [main] rsync 2340 __set_winsock_errno: 
> fixup_before_fork_exec:269 - winsock error 10045 -> errno 95
>   122  421433 [main] rsync 2340 dtable::fixup_before_fork: fd 5 ()
>   168  421601 [main] rsync 2340 
> fhandler_socket::fixup_before_fork_exec: WSADuplicateSocket error, sock 
> 0x4D4, win_proc_id 1684, prot_info_ptr 0x61781EC0
>   141  421742 [main] rsync 2340 __set_winsock_errno: 
> fixup_before_fork_exec:269 - winsock error 10045 -> errno 95
>   121  421863 [main] rsync 2340 dtable::fixup_before_fork: fd 6 ()
>   169  422032 [main] rsync 2340 
> fhandler_socket::fixup_before_fork_exec: WSADuplicateSocket error, sock 
> 0x508, win_proc_id 1684, prot_info_ptr 0x617822E8
>   138  422170 [main] rsync 2340 __set_winsock_errno: 
> fixup_before_fork_exec:269 - winsock error 10045 -> errno 95

All WSADuplicateSocket calls fail with 10045, "operation is not supported
for the type of object referenced", even thought the above created socket
handles are referenced.  That's weird.

I'm still running XP SP1 and I can't reproduce this.  I'm wondering if
that's a side effect of the new firewall in XP2.  Did you try with
switching off the firewall entirely?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          mailto:cygwin@cygwin.com
Red Hat, Inc.

--
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]