Performing the verification for Focal:

First, reproducing the bug with the current version:

# apt policy rsync
rsync:
  Installed: 3.1.3-8
  Candidate: 3.1.3-8
  Version table:
 *** 3.1.3-8 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
        100 /var/lib/dpkg/status

# mkdir -p a/1 b/1; echo "/1/2/3" > list
# rsync --dry-run --stats -Pav --delete-missing-args --files-from=list a b

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]


Next, updating the package to the version available in -proposed, clearing the 
directory, and making sure that the bug is fixed:

# apt policy rsync
rsync:
  Installed: 3.1.3-8ubuntu0.1
  Candidate: 3.1.3-8ubuntu0.1
  Version table:
 *** 3.1.3-8ubuntu0.1 500
        500 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 Packages
        100 /var/lib/dpkg/status
     3.1.3-8 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

# mkdir -p a/1 b/1; echo "/1/2/3" > list
# rsync --dry-run --stats -Pav --delete-missing-args --files-from=list a b

building file list ... 
 0 files...
file has vanished: "/root/a/1/2"
2 files to consider
WARNING: parent dir is absent in the file list: 1/2

Number of files: 2 (reg: 1, dir: 1)
Number of created files: 0
Number of deleted files: 0
Number of regular files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 59
Total bytes received: 68

sent 59 bytes  received 68 bytes  254.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)
rsync warning: some files vanished before they could be transferred (code 24) 
at main.c(1207) [sender=3.1.3]


As shown above, there is no longer a crash due to missing parent folders. 
Therefore, the bug has been fixed for focal and verification is complete.

** Tags removed: verification-needed-focal
** Tags added: verification-done-focal

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 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:
  Fix Committed
Status in rsync source package in Focal:
  Fix Committed

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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to