Hi Samuel,

On Fri, 24 Sep 2021, Samuel Henrique wrote:

Hello Faheem, thank you for the bug report :)

I can see you're transferring to another host, this issue could be
related to the target's rsync version/distribution.
Can you share some details around what you have running on the other
end? I can see that the sender has 3.2.3.

It would also be a good idea to try to reproduce the issue with the
parameters "-vvv", which will provide a verbose output. The root cause
might be showing up there.

I think this is a good starting point in the investigation.

I did some investigation, but forgot to update the bug report. Based on
priors, I was not expecting to get a reply.

The problem is that I'm connecting to a remote VPS, which is an OpenVZ
VM, and currently runs a badly outdated version of Debian, Debian 8
(jessie). It was running the default version of rsync for that release
(3.1.1-3+deb8u2), which appears to be too old to do the handshake that
rsync expects for compression. I'm going by what is in the manual,
i.e.

     Rsync supports multiple compression methods and will choose one
     for you unless you force the choice using the --compress-choice
     (--zc) option.

     Run rsync --version to see the default compress list compiled
     into your version.

     When both sides of the transfer are at least 3.2.0, rsync chooses
     the first algorithm in the client's list of choices that is also
     in the server's list of choices.  If no common compress choice is
     found, rsync exits with an error.  If the remote rsync is too old
     to support checksum negotiation, its list is assumed to be
     "zlib".

However, as an error message, this really sucked. Unless the rsync
maintainers consider compatibility with older rsync versions not worth
bothering with, it would be good to have a more intelligible error
message. But I don't know if it is worth trying to follow up with the
rsync project.

I managed to backport the current version of rsync to Debian 8 on the
OpenVZ VPS, and the error went away. Other workarounds I tried (like
--compress-choice) all failed, because the rsync version seemed to be
too old.

The output of `apt-cache policy rsync` on that server now looks like

    rsync:
      Installed: 3.2.3-7
      Candidate: 3.1.1-3+deb8u2
      Package pin: (not found)
      Version table:
         3.2.3-7 1001
             50 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
             50 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
     *** 3.2.3-7 1001
            100 /var/lib/dpkg/status
         3.1.1-3+deb8u2 1001
            500 http://security.debian.org/ jessie/updates/main amd64 Packages
         3.1.1-3+deb8u1 1001
            500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages

If you don't think it's worth following up upstream regarding the
quality of their error messages, you can close this bug report.

Regards, Faheem Mitha

Thank you,

--
Samuel Henrique <samueloph>



Reply via email to