Rsync hangs with protocol incompatibility issues

jw schultz jw at
Tue Aug 26 18:31:57 EST 2003

On Tue, Aug 26, 2003 at 01:34:21PM +0530, Anand Raman wrote:
> Hi jw
> Thanks for responding..
> 1) At work we end up using outlook. That could possibly explain a bit
> about formatting
> 2) The error message varies from invocation to invocation. Sometimes it
> exists with a error message and sometimes it seems to be stuck doing
> something. (You can think I am mad but that's the way I am seeing the

A little madness helps in this business.  But the
frustration of such inconsistant behavior can lead to anger.

> problem). To further isolate the problem I am trying to sync the jboss
> code repository and this is what I see on 2 consecutive runs
> $ /usr/local/bin/rsync -aP --stats -e 'rsh -l araman'
> --rsync-path=/usr/local/bin/rsync jboss-3.2.2RC2-src
> bpearth:/export/spare/home/araman
> unexpected tag -7
> rsync error: error in rsync protocol data stream (code 12) at io.c(315)
> On the second run the error message which gets printed is
> unexpected tag 105
> rsync error: error in rsync protocol data stream (code 12) at io.c(315)
> 3) This happens after approximately 2110 of 5500 files have been
> transferred to the remote machine. This number ofcourse varies from run
> to run. But I consistently get to t see a error message.
> 4) The exact text of the error message varies. 
> Let me know if I could be of any more help
> Hope this helps

The fact that the error messages vary like this indicates
some serious communications problems.

You mention it seems to get stuck.  That could be an issue
with blocking vs. non-blocking io.  There is some odd
internal logic involved with selecting the blocking or
non-blocking having to do with the value of the -e option.
I think rsh wants blocking-io but using the -e option turns
that off if the -e value is not exactly the same as the
build-time default value because most other remote shells
want non-blocking.  You might try either adding
--blocking-io or changing your commandline to specify the
user name as part of the remote system ala
"araman at bpearth:blahblah" instead of using the -e option.

More information about the rsync mailing list