[Bug 1896251] Re: rsync --delete-missing-args fails with "error: protocol incompatibility"
Lena Voytek
1896251 at bugs.launchpad.net
Fri Oct 29 19:31:29 UTC 2021
** Description changed:
+ [Impact]
+
+ Rsync crashes when using --delete-missing-args on a file with a missing
+ parent folder.
+
+ Backporting this fix will allow users to delete missing source args when
+ some files in the list have missing parent folders without interruption.
+
+ This is fixed by patching in an upstream commit that allows files with
+ missing parent folders to be handled without aborting.
+
+ [Test Plan]
+
+ # lxc launch images:ubuntu/focal builder
+ # lxc exec builder bash
+ # apt update
+ # apt dist-upgrade
+ # apt install -y rsync
+ # mkdir -p a/1 b/1; echo "/1/2/3" > list
+ # rsync --dry-run --stats -Pav --delete-missing-args --files-from=list a b
+
+ * This should crash with exit code 2 after printing the following:
+
+ building file list ...
+ 0 files...
+ file has vanished: "/root/a/1/2"
+ 2 files to consider
+ ABORTING due to invalid path from sender: 1/2/3
+ rsync error: protocol incompatibility (code 2) at generator.c(1278) [generator=3.1.3]
+
+ [Where problems could occur]
+
+ Since the remove operation will now continue when files in the list have
+ missing parent folders, other errors and warnings with different
+ behaviors could arise instead.
+
+ A warning that may arise the most often in these situations is the
+ following:
+
+ warning: some files vanished before they could be transferred (code 24)
+ at main.c(1207) [sender=3.1.3]
+
+ This appears at the end of the above test case with the new code. The
+ behavior is expected, but it may cause regressions due to changes in the
+ output of certain use cases.
+
+ [Original Description]
+
Running
rsync --delete-missing-args --files-from=...
fails with error message like
ABORTING due to invalid path from sender: dir1/dir2/dir3
rsync error: protocol incompatibility (code 2) at generator.c(1271) [generator=3.1.2]
if the listed directories are trying to delete full subtree of files.
According to https://bugzilla.samba.org/show_bug.cgi?id=12569 this has
been fixed in version 3.2.2.
See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863334
Could you update the rsync package or backport the fix?
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: rsync 3.1.2-2.1ubuntu1.1
ProcVersionSignature: Ubuntu 5.4.0-47.51~18.04.1-lowlatency 5.4.55
Uname: Linux 5.4.0-47-lowlatency x86_64
ApportVersion: 2.20.9-0ubuntu7.17
Architecture: amd64
CurrentDesktop: MATE
Date: Fri Sep 18 18:27:53 2020
EcryptfsInUse: Yes
InstallationDate: Installed on 2019-01-05 (621 days ago)
InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
SourcePackage: rsync
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rsync in Ubuntu.
https://bugs.launchpad.net/bugs/1896251
Title:
rsync --delete-missing-args fails with "error: protocol
incompatibility"
Status in rsync package in Ubuntu:
Fix Released
Status in rsync source package in Xenial:
Won't Fix
Status in rsync source package in Bionic:
In Progress
Status in rsync source package in Focal:
In Progress
Bug description:
[Impact]
Rsync crashes when using --delete-missing-args on a file with a
missing parent folder.
Backporting this fix will allow users to delete missing source args
when some files in the list have missing parent folders without
interruption.
This is fixed by patching in an upstream commit that allows files with
missing parent folders to be handled without aborting.
[Test Plan]
# lxc launch images:ubuntu/focal builder
# lxc exec builder bash
# apt update
# apt dist-upgrade
# apt install -y rsync
# mkdir -p a/1 b/1; echo "/1/2/3" > list
# rsync --dry-run --stats -Pav --delete-missing-args --files-from=list a b
* This should crash with exit code 2 after printing the following:
building file list ...
0 files...
file has vanished: "/root/a/1/2"
2 files to consider
ABORTING due to invalid path from sender: 1/2/3
rsync error: protocol incompatibility (code 2) at generator.c(1278) [generator=3.1.3]
[Where problems could occur]
Since the remove operation will now continue when files in the list
have missing parent folders, other errors and warnings with different
behaviors could arise instead.
A warning that may arise the most often in these situations is the
following:
warning: some files vanished before they could be transferred (code
24) at main.c(1207) [sender=3.1.3]
This appears at the end of the above test case with the new code. The
behavior is expected, but it may cause regressions due to changes in
the output of certain use cases.
[Original Description]
Running
rsync --delete-missing-args --files-from=...
fails with error message like
ABORTING due to invalid path from sender: dir1/dir2/dir3
rsync error: protocol incompatibility (code 2) at generator.c(1271) [generator=3.1.2]
if the listed directories are trying to delete full subtree of files.
According to https://bugzilla.samba.org/show_bug.cgi?id=12569 this has
been fixed in version 3.2.2.
See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863334
Could you update the rsync package or backport the fix?
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: rsync 3.1.2-2.1ubuntu1.1
ProcVersionSignature: Ubuntu 5.4.0-47.51~18.04.1-lowlatency 5.4.55
Uname: Linux 5.4.0-47-lowlatency x86_64
ApportVersion: 2.20.9-0ubuntu7.17
Architecture: amd64
CurrentDesktop: MATE
Date: Fri Sep 18 18:27:53 2020
EcryptfsInUse: Yes
InstallationDate: Installed on 2019-01-05 (621 days ago)
InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
SourcePackage: rsync
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/1896251/+subscriptions
More information about the foundations-bugs
mailing list