rsync fails with 2 sources

Andreas Ley andy at rz.uni-karlsruhe.de
Fri May 14 14:56:47 GMT 2004


Hi!

I seem to have a similar problem. I checked different versions and options,
and it seems to happen when the server version is >= 2.6.1 - there's no
problem with 2.6.0. The client version doesn't matter. The --delete option
is required to show the bug. The two directories may well be uptodate and
even empty. It doesn't work with any two directories though. And I get a
SEGFAULT.

Listing on the client:

mail2:~# ll -d / /usr /usr/local;ll -aR /usr/local/lib/ /usr/local/etc/
drwxr-xr-x   22 root     root         4096 May 14 16:13 /
drwxr-xr-x   19 bin      bin          4096 Feb  6 15:19 /usr
drwxrwsr-x   12 root     staff        4096 Mar 17 17:55 /usr/local
/usr/local/etc/:
total 8
drwxr-xr-x    2 root     staff        4096 May 14 16:16 .
drwxrwsr-x   12 root     staff        4096 Mar 17 17:55 ..

/usr/local/lib/:
total 8
drwxr-xr-x    2 root     staff        4096 May 14 16:15 .
drwxrwsr-x   12 root     staff        4096 Mar 17 17:55 ..

Listing on the server:

mail5:~# ll -d / /usr /usr/local;ll -aR /usr/local/lib/ /usr/local/etc/
drwxr-xr-x   20 root     root         4096 May 14 16:13 /
drwxr-xr-x   18 bin      bin          4096 Feb  6 15:19 /usr
drwxrwsr-x   12 root     staff        4096 Mar 17 17:55 /usr/local
/usr/local/etc/:
total 8
drwxr-xr-x    2 root     staff        4096 May 14 16:16 .
drwxrwsr-x   12 root     staff        4096 Mar 17 17:55 ..

/usr/local/lib/:
total 8
drwxr-xr-x    2 root     staff        4096 May 14 16:15 .
drwxrwsr-x   12 root     staff        4096 Mar 17 17:55 ..

Command output:

mail2:~# rsync -v -v -v -v -v -v -v -v -v -aR --delete /usr/local/lib/ /usr/local/etc/ mail5:/
cmd= machine=mail5 user= path=/
cmd=ssh mail5 rsync --server -vvvvvvvvvlogDtprR --delete . / 
opening connection using ssh mail5 rsync --server -vvvvvvvvvlogDtprR --delete . / 
(Server) Protocol versions: remote=28, negotiated=28
(Client) Protocol versions: remote=28, negotiated=28
building file list ... 
[sender] make_file(/usr,*,2)
[sender] expand file_list to 131072 bytes, did move
[sender] make_file(/usr/local,*,2)
[sender] make_file(/usr/local/lib,*,2)
[sender] make_file(/usr/local/lib/.,*,2)
[sender] clearing per-dir .cvsignore exclude list
[sender] make_file(/usr/local/etc,*,2)
[sender] make_file(/usr/local/etc/.,*,2)
[sender] clearing per-dir .cvsignore exclude list
done
[sender] i=0 <NULL>  usr mode=040755 len=4096 uid=2 gid=2
[sender] i=1 <NULL> /usr local mode=042775 len=4096 uid=0 gid=50
[sender] i=2 <NULL> /usr/local etc mode=040755 len=4096 uid=0 gid=50
[sender] i=3 <NULL> /usr/local/etc . mode=040755 len=4096 uid=0 gid=50
[sender] i=4 <NULL> /usr/local lib mode=040755 len=4096 uid=0 gid=50
[sender] i=5 <NULL> /usr/local/lib . mode=040755 len=4096 uid=0 gid=50
send_file_list done
file list sent
send_files starting
server_recv(2) starting pid=23648
recv_file_name(/usr)
recv_file_name(/usr/local)
recv_file_name(/usr/local/lib)
recv_file_name(/usr/local/lib/.)
recv_file_name(/usr/local/etc)
recv_file_name(/usr/local/etc/.)
received 6 names
uid 2(bin) maps to 2
gid 50(staff) maps to 50
gid 2(bin) maps to 2
[receiver] i=0 <NULL> <NULL> usr mode=040755 len=4096 uid=2 gid=2
[receiver] i=1 <NULL> usr local mode=042775 len=4096 uid=0 gid=50
[receiver] i=2 <NULL> usr/local etc mode=040755 len=4096 uid=0 gid=50
[receiver] i=3 <NULL> usr/local/etc . mode=040755 len=4096 uid=0 gid=50
[receiver] i=4 <NULL> usr/local lib mode=040755 len=4096 uid=0 gid=50
[receiver] i=5 <NULL> usr/local/lib . mode=040755 len=4096 uid=0 gid=50
recv_file_list done
get_local_name count=6 /
[receiver] make_file(usr/local/etc/.,*,2)
[receiver] expand file_list to 131072 bytes, did move
[receiver] clearing per-dir .cvsignore exclude list
Command terminated on signal 11.
[receiver] i=0 <NULL> usr/local/etc . mode=040755 len=4096 uid=0 gid=50
send_file_list done
deleting in usr/local/etc/.
[receiver] make_file(usr/local/lib/.,*,2)
rsync: connection unexpectedly closed (8 bytes read so far)
_exit_cleanup(code=12, file=io.c, line=342): entered
rsync error: error in rsync protocol data stream (code 12) at io.c(342)
_exit_cleanup(code=12, file=io.c, line=342): about to call exit(12)

The two machines are Debian stable with kernel 2.4.26.

Hope this helps finding the bug. Can I provide more information or run more
tests?

Bye, Andy

-- 
Andreas Ley, Rechenzentrum, Universitaet Karlsruhe, D-76128 Karlsruhe, Germany
Andreas.Ley at rz.uni-karlsruhe.de, Phone: +49 721 608 6341, Fax: +49 721 32550
"Do I have to go on a rant about The Guy I Can't Have, Dammit?" -- Bev


More information about the rsync mailing list