Public bug reported: Rsync 3.1.2-2.1ubuntu1.6, when used by Unison using the copyprog option in Unison, produces an error message and fails to sync files. Rsync 3.1.2-2.1ubuntu1 succeeds in syncing files. I believe Rsync 3.1.2-2.1ubuntu1.5 succeeded but I no longer have the .deb file to test with.
Steps to reproduce: Create a unison profile similar to the one given below, to sync a folder between a local machine and a remote ssh server. Both client and server need the same Ubuntu and Unison versions, and I used unpassphrased SSH keys for authentication. Place a test file in the folder to be synced, then run 'unison profilename'. Note that I have redacted domains in the below. Unison profile: label = Test Profile root = /root/unison-test root = ssh://fs2b.our.domain.org.uk//root/unison-test # run repeatedly and fully automatically auto = true batch = true copyonconflict = true #repeat = 60 # the copy program must be manually specified in order to sync ACLs copythreshold=0 copyprog = rsync -a -A -X --rsh=ssh --inplace --compress copyprogrest = rsync -a -A -X --rsh=ssh --partial --inplace --compress # general settings group = true owner = true #path = sharedfolder #path = users perms = -1 sortbysize = true times = true Unison output with rsync 3.1.2-2.1ubuntu1.6 root@fs72a:~# unison fs2b_unisontest -debug all [startup] Preferences: ui = graphic host = server = false prefsdocs = false doc = version = false silent = false dumbtty = false testserver = false rest = fs2b_unisontest showprev = false selftest = false confirmmerge = false retry = 0 repeat = contactquietly = false key = label = Syncs P and S drives between fs72a and fs2a expert = false height = 15 auto = true maxthreads = 0 maxsizethreshold = -1 prefer = force = sortnewfirst = false sortbysize = true keeptempfilesaftermerge = false diff = diff -u CURRENT2 CURRENT1 copyonconflict = true backupdir = maxbackups = 2 backups = false backupsuffix = backupprefix = .bak.$VERSION. backuploc = central copymax = 1 copyquoterem = default copythreshold = 0 copyprogrest = rsync -a -A -X --rsh=ssh --partial --inplace --compress copyprog = rsync -a -A -X --rsh=ssh --inplace --compress rsync = true fastcheck = default ignorelocks = false dumparchives = false showarchive = false rootsName = ignorearchives = false fastercheckUNSAFE = false fat = false allHostsAreRunningWindows = false someHostIsRunningWindows = false confirmbigdel = true batch = true root = ssh://fs2b.our.domain.org.uk//root/unison-test root = /root/unison-test killserver = false halfduplex = false stream = true addversionno = false servercmd = sshargs = rshargs = rshcmd = rsh sshcmd = ssh xferbycopying = true sshversion = clientHostName = fs72a ignoreinodenumbers = false links-aux = true links = default times = true group = true owner = true numericids = false dontchmod = false perms = -1 watch = true rsrc-aux = false rsrc = default maxerrors = 1 unicodeCS = false unicodeEnc = false unicode = default someHostIsInsensitive = false ignorecase = default timers = false terse = false logfile = /root/.unison/unison.log log = true debugtimes = false debug = all addprefsto = Contacting server... [remote] Shell connection: ssh (ssh, fs2b.our.domain.org.uk, -e, none, unison, -server) [globals] Checking path '' for expansions Connected [//fs2b//root/unison-test -> //fs72a//root/unison-test] [startup] Roots: /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. (in canonical order) /root/unison-test //fs2b//root/unison-test [props] Setting permission mask to 7777 (777777777777777777777 and 7777) [stasher] initBackupsLocal [stasher] d = / [stasher] Prefix and suffix regexps for backup filenames have been updated [server: stasher] initBackupsLocal [server: stasher] d = / [server: stasher] Prefix and suffix regexps for backup filenames have been updated Looking for changes [ui] temp: Globals.paths = [update] Loading archive from /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [update] Setting archive for //fs72a//root/unison-test [server: update] Loading archive from /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [server: update] Setting archive for //fs2b//root/unison-test [update] findOnRoot //fs2b//root/unison-test [update] findOnRoot /root/unison-test [update] findLocal /root/unison-test () [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for input [fpcache] read chunk of 1 files [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for output [pred] ignore '' = false [update] buildUpdateRec: /root/unison-test [pred] immutable '' = false [pred] ignore 'hello' = false [update] buildUpdateRec: /root/unison-test/hello [update] buildUpdate -> New file [fpcache] cache hit for path hello [xferhint] insertEntry: fspath=/root/unison-test, path=hello, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [update] Setting archive for //fs72a//root/unison-test Waiting for changes from server [server: update] findLocal /root/unison-test () [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for input [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for output [server: pred] ignore '' = false [server: update] buildUpdateRec: /root/unison-test [server: pred] immutable '' = false [server: update] Setting archive for //fs2b//root/unison-test Reconciling changes [recon] reconcileAll [recon] reconcile: 1 results [update] Marking 0 paths equal [pred] forcepartial 'hello' = false [pred] preferpartial 'hello' = false new file ----> hello Propagating updates UNISON 2.48.4 started propagating changes at 12:53:09.13 on 08 Mar 2023 [BGN] Copying hello from /root/unison-test to //fs2b//root/unison-test [files] copy /root/unison-test hello ---> //fs2b//root/unison-test hello [server: pred] follow 'hello' = false [server: fspath] Os.findWorkingDir(/root/unison-test,hello) = (/root/unison-test,hello) [update] updateArchive /root/unison-test hello [pred] ignore 'hello' = false [files] copyRec hello --> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp (really to hello) [abort] Checking line 0 [copy] copyRegFile(/root/unison-test,hello) -> (//fs2b//root/unison-test,hello,/root/unison-test,.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp,modified on 2023-03-08 at 11:59:12 size 13 --rw-r--r-- user=0 group=0) [abort] Checking line 0 [server: copy] tryCopyMovedFile: -> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp /(8ddd8be4b179a529afa5f2ffae4b9858,)/ [server: xferhint] lookup: fp = (8ddd8be4b179a529afa5f2ffae4b9858,) rsync -a -A -X --rsh=ssh --inplace --compress '/root/unison-test/hello' 'fs2b.our.domain.org.uk:'\''/root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp'\''' [copy] transferFileUsingExternalCopyprog hello: returned... rsync: change_dir#3 "/root//'/root/unison-test" failed: No such file or directory (2) rsync error: errors selecting input/output files, dirs (code 3) at main.c(712) [Receiver=3.1.2] Exited with status 3 [abort] Aborting line 0 Failed: External copy program did not create target file (or bad length): .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp 100% 00:00 ETAFailed [hello]: External copy program did not create target file (or bad length): .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp UNISON 2.48.4 finished propagating changes at 12:53:09.66 on 08 Mar 2023 Saving synchronizer state [update] Updating archives [update] Saving archive in /root/.unison/sceaa7785bb2204bed0cb7af3360b3c323 [server: update] Saving archive in /root/.unison/sc8a6c9477fdd76859c429c5bdd5afe2d9 [update] Copying archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 to /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [server: update] Copying archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 to /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [update] Removing archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 [server: update] Removing archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 Synchronization incomplete at 12:53:09 (0 items transferred, 0 skipped, 1 failed) failed: hello root@fs72a:~# [server: remote] Connection closed by the client Unison output with rsync 3.1.2-2.1ubuntu1 root@fs72a:~# unison fs2b_unisontest -debug all [startup] Preferences: ui = graphic host = server = false prefsdocs = false doc = version = false silent = false dumbtty = false testserver = false rest = fs2b_unisontest showprev = false selftest = false confirmmerge = false retry = 0 repeat = contactquietly = false key = label = Syncs P and S drives between fs72a and fs2a expert = false height = 15 auto = true maxthreads = 0 maxsizethreshold = -1 prefer = force = sortnewfirst = false sortbysize = true keeptempfilesaftermerge = false diff = diff -u CURRENT2 CURRENT1 copyonconflict = true backupdir = maxbackups = 2 backups = false backupsuffix = backupprefix = .bak.$VERSION. backuploc = central copymax = 1 copyquoterem = default copythreshold = 0 copyprogrest = rsync -a -A -X --rsh=ssh --partial --inplace --compress copyprog = rsync -a -A -X --rsh=ssh --inplace --compress rsync = true fastcheck = default ignorelocks = false dumparchives = false showarchive = false rootsName = ignorearchives = false fastercheckUNSAFE = false fat = false allHostsAreRunningWindows = false someHostIsRunningWindows = false confirmbigdel = true batch = true root = ssh://fs2b.our.domain.org.uk//root/unison-test root = /root/unison-test killserver = false halfduplex = false stream = true addversionno = false servercmd = sshargs = rshargs = rshcmd = rsh sshcmd = ssh xferbycopying = true sshversion = clientHostName = fs72a ignoreinodenumbers = false links-aux = true links = default times = true group = true owner = true numericids = false dontchmod = false perms = -1 watch = true rsrc-aux = false rsrc = default maxerrors = 1 unicodeCS = false unicodeEnc = false unicode = default someHostIsInsensitive = false ignorecase = default timers = false terse = false logfile = /root/.unison/unison.log log = true debugtimes = false debug = all addprefsto = Contacting server... [remote] Shell connection: ssh (ssh, fs2b.our.domain.org.uk, -e, none, unison, -server) [globals] Checking path '' for expansions Connected [//fs2b//root/unison-test -> //fs72a//root/unison-test] [startup] Roots: /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. (in canonical order) /root/unison-test //fs2b//root/unison-test [props] Setting permission mask to 7777 (777777777777777777777 and 7777) [stasher] initBackupsLocal [stasher] d = / [stasher] Prefix and suffix regexps for backup filenames have been updated [server: stasher] initBackupsLocal [server: stasher] d = / [server: stasher] Prefix and suffix regexps for backup filenames have been updated Looking for changes [ui] temp: Globals.paths = [update] Loading archive from /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [update] Setting archive for //fs72a//root/unison-test [server: update] Loading archive from /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [server: update] Setting archive for //fs2b//root/unison-test [update] findOnRoot //fs2b//root/unison-test [update] findOnRoot /root/unison-test [update] findLocal /root/unison-test () [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for input [fpcache] read chunk of 1 files [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for output [pred] ignore '' = false [update] buildUpdateRec: /root/unison-test [pred] immutable '' = false [pred] ignore 'hello' = false [update] buildUpdateRec: /root/unison-test/hello [update] buildUpdate -> New file [fpcache] cache hit for path hello [xferhint] insertEntry: fspath=/root/unison-test, path=hello, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [update] Setting archive for //fs72a//root/unison-test Waiting for changes from server [server: update] findLocal /root/unison-test () [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for input [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for output [server: pred] ignore '' = false [server: update] buildUpdateRec: /root/unison-test [server: pred] immutable '' = false [server: update] Setting archive for //fs2b//root/unison-test Reconciling changes [recon] reconcileAll [recon] reconcile: 1 results [update] Marking 0 paths equal [pred] forcepartial 'hello' = false [pred] preferpartial 'hello' = false new file ----> hello Propagating updates UNISON 2.48.4 started propagating changes at 12:58:13.42 on 08 Mar 2023 [BGN] Copying hello from /root/unison-test to //fs2b//root/unison-test [files] copy /root/unison-test hello ---> //fs2b//root/unison-test hello [server: pred] follow 'hello' = false [server: fspath] Os.findWorkingDir(/root/unison-test,hello) = (/root/unison-test,hello) [update] updateArchive /root/unison-test hello [pred] ignore 'hello' = false [files] copyRec hello --> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp (really to hello) [abort] Checking line 0 [copy] copyRegFile(/root/unison-test,hello) -> (//fs2b//root/unison-test,hello,/root/unison-test,.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp,modified on 2023-03-08 at 11:59:12 size 13 --rw-r--r-- user=0 group=0) [abort] Checking line 0 [server: copy] tryCopyMovedFile: -> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp /(8ddd8be4b179a529afa5f2ffae4b9858,)/ [server: xferhint] lookup: fp = (8ddd8be4b179a529afa5f2ffae4b9858,) rsync -a -A -X --rsh=ssh --inplace --compress '/root/unison-test/hello' 'fs2b.our.domain.org.uk:'\''/root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp'\''' [copy] transferFileUsingExternalCopyprog hello: returned... [server: props] Setting permissions for /root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp to --rw-r--r-- (644/7777) [server: xferhint] insertEntry: fspath=/root/unison-test, path=.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [files] rename(root=//fs2b//root/unison-test, pathOld=.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp, pathNew=hello) [server: update] checkNoUpdates /root/unison-test hello [server: update] buildUpdateRec: /root/unison-test/hello [server: update] buildUpdate -> Absent and no archive [server: files] Renaming .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp to hello in /root/unison-test; root is /root/unison-test [server: files] rename: moveFirst=false [server: stasher] backup: /root/unison-test / hello [server: pred] follow 'hello' = false [server: fspath] Os.findWorkingDir(/root/unison-test,hello) = (/root/unison-test,hello) [server: stasher] File hello in /root/unison-test does not exist, so no need to back up [server: os] rename /root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp to /root/unison-test/hello [server: files] Contents of /root/unison-test/hello after renaming = 8ddd8be4b179a529afa5f2ffae4b9858 [server: pred] backupcurr 'hello' = false [server: xferhint] insertEntry: fspath=/root/unison-test, path=hello, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [server: update] replaceArchiveLocal /root/unison-test hello [server: update] Setting archive for //fs2b//root/unison-test [update] updateArchive /root/unison-test hello [pred] ignore 'hello' = false [update] replaceArchiveLocal /root/unison-test hello [update] Setting archive for //fs72a//root/unison-test [pred] backupcurr 'hello' = false [END] Copying hello UNISON 2.48.4 finished propagating changes at 12:58:14.13 on 08 Mar 2023 Saving synchronizer state [update] Updating archives [update] Saving archive in /root/.unison/sceaa7785bb2204bed0cb7af3360b3c323 [server: update] Saving archive in /root/.unison/sc8a6c9477fdd76859c429c5bdd5afe2d9 [update] Copying archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 to /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [server: update] Copying archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 to /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [update] Removing archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 [server: update] Removing archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 Synchronization complete at 12:58:14 (1 item transferred, 0 skipped, 0 failed) root@fs72a:~# [server: remote] Connection closed by the client ** Affects: rsync (Ubuntu) Importance: Undecided Status: New ** Affects: unison (Ubuntu) Importance: Undecided Status: New ** Also affects: unison (Ubuntu) Importance: Undecided Status: New -- 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/2009706 Title: rsync 3.1.2-2.1ubuntu1.6 breaks compatibility with unison 2.48.4-1ubuntu1 on Bionic Status in rsync package in Ubuntu: New Status in unison package in Ubuntu: New Bug description: Rsync 3.1.2-2.1ubuntu1.6, when used by Unison using the copyprog option in Unison, produces an error message and fails to sync files. Rsync 3.1.2-2.1ubuntu1 succeeds in syncing files. I believe Rsync 3.1.2-2.1ubuntu1.5 succeeded but I no longer have the .deb file to test with. Steps to reproduce: Create a unison profile similar to the one given below, to sync a folder between a local machine and a remote ssh server. Both client and server need the same Ubuntu and Unison versions, and I used unpassphrased SSH keys for authentication. Place a test file in the folder to be synced, then run 'unison profilename'. Note that I have redacted domains in the below. Unison profile: label = Test Profile root = /root/unison-test root = ssh://fs2b.our.domain.org.uk//root/unison-test # run repeatedly and fully automatically auto = true batch = true copyonconflict = true #repeat = 60 # the copy program must be manually specified in order to sync ACLs copythreshold=0 copyprog = rsync -a -A -X --rsh=ssh --inplace --compress copyprogrest = rsync -a -A -X --rsh=ssh --partial --inplace --compress # general settings group = true owner = true #path = sharedfolder #path = users perms = -1 sortbysize = true times = true Unison output with rsync 3.1.2-2.1ubuntu1.6 root@fs72a:~# unison fs2b_unisontest -debug all [startup] Preferences: ui = graphic host = server = false prefsdocs = false doc = version = false silent = false dumbtty = false testserver = false rest = fs2b_unisontest showprev = false selftest = false confirmmerge = false retry = 0 repeat = contactquietly = false key = label = Syncs P and S drives between fs72a and fs2a expert = false height = 15 auto = true maxthreads = 0 maxsizethreshold = -1 prefer = force = sortnewfirst = false sortbysize = true keeptempfilesaftermerge = false diff = diff -u CURRENT2 CURRENT1 copyonconflict = true backupdir = maxbackups = 2 backups = false backupsuffix = backupprefix = .bak.$VERSION. backuploc = central copymax = 1 copyquoterem = default copythreshold = 0 copyprogrest = rsync -a -A -X --rsh=ssh --partial --inplace --compress copyprog = rsync -a -A -X --rsh=ssh --inplace --compress rsync = true fastcheck = default ignorelocks = false dumparchives = false showarchive = false rootsName = ignorearchives = false fastercheckUNSAFE = false fat = false allHostsAreRunningWindows = false someHostIsRunningWindows = false confirmbigdel = true batch = true root = ssh://fs2b.our.domain.org.uk//root/unison-test root = /root/unison-test killserver = false halfduplex = false stream = true addversionno = false servercmd = sshargs = rshargs = rshcmd = rsh sshcmd = ssh xferbycopying = true sshversion = clientHostName = fs72a ignoreinodenumbers = false links-aux = true links = default times = true group = true owner = true numericids = false dontchmod = false perms = -1 watch = true rsrc-aux = false rsrc = default maxerrors = 1 unicodeCS = false unicodeEnc = false unicode = default someHostIsInsensitive = false ignorecase = default timers = false terse = false logfile = /root/.unison/unison.log log = true debugtimes = false debug = all addprefsto = Contacting server... [remote] Shell connection: ssh (ssh, fs2b.our.domain.org.uk, -e, none, unison, -server) [globals] Checking path '' for expansions Connected [//fs2b//root/unison-test -> //fs72a//root/unison-test] [startup] Roots: /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. (in canonical order) /root/unison-test //fs2b//root/unison-test [props] Setting permission mask to 7777 (777777777777777777777 and 7777) [stasher] initBackupsLocal [stasher] d = / [stasher] Prefix and suffix regexps for backup filenames have been updated [server: stasher] initBackupsLocal [server: stasher] d = / [server: stasher] Prefix and suffix regexps for backup filenames have been updated Looking for changes [ui] temp: Globals.paths = [update] Loading archive from /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [update] Setting archive for //fs72a//root/unison-test [server: update] Loading archive from /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [server: update] Setting archive for //fs2b//root/unison-test [update] findOnRoot //fs2b//root/unison-test [update] findOnRoot /root/unison-test [update] findLocal /root/unison-test () [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for input [fpcache] read chunk of 1 files [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for output [pred] ignore '' = false [update] buildUpdateRec: /root/unison-test [pred] immutable '' = false [pred] ignore 'hello' = false [update] buildUpdateRec: /root/unison-test/hello [update] buildUpdate -> New file [fpcache] cache hit for path hello [xferhint] insertEntry: fspath=/root/unison-test, path=hello, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [update] Setting archive for //fs72a//root/unison-test Waiting for changes from server [server: update] findLocal /root/unison-test () [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for input [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for output [server: pred] ignore '' = false [server: update] buildUpdateRec: /root/unison-test [server: pred] immutable '' = false [server: update] Setting archive for //fs2b//root/unison-test Reconciling changes [recon] reconcileAll [recon] reconcile: 1 results [update] Marking 0 paths equal [pred] forcepartial 'hello' = false [pred] preferpartial 'hello' = false new file ----> hello Propagating updates UNISON 2.48.4 started propagating changes at 12:53:09.13 on 08 Mar 2023 [BGN] Copying hello from /root/unison-test to //fs2b//root/unison-test [files] copy /root/unison-test hello ---> //fs2b//root/unison-test hello [server: pred] follow 'hello' = false [server: fspath] Os.findWorkingDir(/root/unison-test,hello) = (/root/unison-test,hello) [update] updateArchive /root/unison-test hello [pred] ignore 'hello' = false [files] copyRec hello --> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp (really to hello) [abort] Checking line 0 [copy] copyRegFile(/root/unison-test,hello) -> (//fs2b//root/unison-test,hello,/root/unison-test,.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp,modified on 2023-03-08 at 11:59:12 size 13 --rw-r--r-- user=0 group=0) [abort] Checking line 0 [server: copy] tryCopyMovedFile: -> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp /(8ddd8be4b179a529afa5f2ffae4b9858,)/ [server: xferhint] lookup: fp = (8ddd8be4b179a529afa5f2ffae4b9858,) rsync -a -A -X --rsh=ssh --inplace --compress '/root/unison-test/hello' 'fs2b.our.domain.org.uk:'\''/root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp'\''' [copy] transferFileUsingExternalCopyprog hello: returned... rsync: change_dir#3 "/root//'/root/unison-test" failed: No such file or directory (2) rsync error: errors selecting input/output files, dirs (code 3) at main.c(712) [Receiver=3.1.2] Exited with status 3 [abort] Aborting line 0 Failed: External copy program did not create target file (or bad length): .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp 100% 00:00 ETAFailed [hello]: External copy program did not create target file (or bad length): .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp UNISON 2.48.4 finished propagating changes at 12:53:09.66 on 08 Mar 2023 Saving synchronizer state [update] Updating archives [update] Saving archive in /root/.unison/sceaa7785bb2204bed0cb7af3360b3c323 [server: update] Saving archive in /root/.unison/sc8a6c9477fdd76859c429c5bdd5afe2d9 [update] Copying archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 to /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [server: update] Copying archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 to /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [update] Removing archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 [server: update] Removing archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 Synchronization incomplete at 12:53:09 (0 items transferred, 0 skipped, 1 failed) failed: hello root@fs72a:~# [server: remote] Connection closed by the client Unison output with rsync 3.1.2-2.1ubuntu1 root@fs72a:~# unison fs2b_unisontest -debug all [startup] Preferences: ui = graphic host = server = false prefsdocs = false doc = version = false silent = false dumbtty = false testserver = false rest = fs2b_unisontest showprev = false selftest = false confirmmerge = false retry = 0 repeat = contactquietly = false key = label = Syncs P and S drives between fs72a and fs2a expert = false height = 15 auto = true maxthreads = 0 maxsizethreshold = -1 prefer = force = sortnewfirst = false sortbysize = true keeptempfilesaftermerge = false diff = diff -u CURRENT2 CURRENT1 copyonconflict = true backupdir = maxbackups = 2 backups = false backupsuffix = backupprefix = .bak.$VERSION. backuploc = central copymax = 1 copyquoterem = default copythreshold = 0 copyprogrest = rsync -a -A -X --rsh=ssh --partial --inplace --compress copyprog = rsync -a -A -X --rsh=ssh --inplace --compress rsync = true fastcheck = default ignorelocks = false dumparchives = false showarchive = false rootsName = ignorearchives = false fastercheckUNSAFE = false fat = false allHostsAreRunningWindows = false someHostIsRunningWindows = false confirmbigdel = true batch = true root = ssh://fs2b.our.domain.org.uk//root/unison-test root = /root/unison-test killserver = false halfduplex = false stream = true addversionno = false servercmd = sshargs = rshargs = rshcmd = rsh sshcmd = ssh xferbycopying = true sshversion = clientHostName = fs72a ignoreinodenumbers = false links-aux = true links = default times = true group = true owner = true numericids = false dontchmod = false perms = -1 watch = true rsrc-aux = false rsrc = default maxerrors = 1 unicodeCS = false unicodeEnc = false unicode = default someHostIsInsensitive = false ignorecase = default timers = false terse = false logfile = /root/.unison/unison.log log = true debugtimes = false debug = all addprefsto = Contacting server... [remote] Shell connection: ssh (ssh, fs2b.our.domain.org.uk, -e, none, unison, -server) [globals] Checking path '' for expansions Connected [//fs2b//root/unison-test -> //fs72a//root/unison-test] [startup] Roots: /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. /root/unison-test ssh://fs2b.our.domain.org.uk//root/unison-test i.e. (in canonical order) /root/unison-test //fs2b//root/unison-test [props] Setting permission mask to 7777 (777777777777777777777 and 7777) [stasher] initBackupsLocal [stasher] d = / [stasher] Prefix and suffix regexps for backup filenames have been updated [server: stasher] initBackupsLocal [server: stasher] d = / [server: stasher] Prefix and suffix regexps for backup filenames have been updated Looking for changes [ui] temp: Globals.paths = [update] Loading archive from /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [update] Setting archive for //fs72a//root/unison-test [server: update] Loading archive from /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [server: update] Setting archive for //fs2b//root/unison-test [update] findOnRoot //fs2b//root/unison-test [update] findOnRoot /root/unison-test [update] findLocal /root/unison-test () [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for input [fpcache] read chunk of 1 files [fpcache] opening cache file /root/.unison/fpeaa7785bb2204bed0cb7af3360b3c323 for output [pred] ignore '' = false [update] buildUpdateRec: /root/unison-test [pred] immutable '' = false [pred] ignore 'hello' = false [update] buildUpdateRec: /root/unison-test/hello [update] buildUpdate -> New file [fpcache] cache hit for path hello [xferhint] insertEntry: fspath=/root/unison-test, path=hello, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [update] Setting archive for //fs72a//root/unison-test Waiting for changes from server [server: update] findLocal /root/unison-test () [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for input [server: fpcache] opening cache file /root/.unison/fp8a6c9477fdd76859c429c5bdd5afe2d9 for output [server: pred] ignore '' = false [server: update] buildUpdateRec: /root/unison-test [server: pred] immutable '' = false [server: update] Setting archive for //fs2b//root/unison-test Reconciling changes [recon] reconcileAll [recon] reconcile: 1 results [update] Marking 0 paths equal [pred] forcepartial 'hello' = false [pred] preferpartial 'hello' = false new file ----> hello Propagating updates UNISON 2.48.4 started propagating changes at 12:58:13.42 on 08 Mar 2023 [BGN] Copying hello from /root/unison-test to //fs2b//root/unison-test [files] copy /root/unison-test hello ---> //fs2b//root/unison-test hello [server: pred] follow 'hello' = false [server: fspath] Os.findWorkingDir(/root/unison-test,hello) = (/root/unison-test,hello) [update] updateArchive /root/unison-test hello [pred] ignore 'hello' = false [files] copyRec hello --> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp (really to hello) [abort] Checking line 0 [copy] copyRegFile(/root/unison-test,hello) -> (//fs2b//root/unison-test,hello,/root/unison-test,.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp,modified on 2023-03-08 at 11:59:12 size 13 --rw-r--r-- user=0 group=0) [abort] Checking line 0 [server: copy] tryCopyMovedFile: -> .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp /(8ddd8be4b179a529afa5f2ffae4b9858,)/ [server: xferhint] lookup: fp = (8ddd8be4b179a529afa5f2ffae4b9858,) rsync -a -A -X --rsh=ssh --inplace --compress '/root/unison-test/hello' 'fs2b.our.domain.org.uk:'\''/root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp'\''' [copy] transferFileUsingExternalCopyprog hello: returned... [server: props] Setting permissions for /root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp to --rw-r--r-- (644/7777) [server: xferhint] insertEntry: fspath=/root/unison-test, path=.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [files] rename(root=//fs2b//root/unison-test, pathOld=.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp, pathNew=hello) [server: update] checkNoUpdates /root/unison-test hello [server: update] buildUpdateRec: /root/unison-test/hello [server: update] buildUpdate -> Absent and no archive [server: files] Renaming .unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp to hello in /root/unison-test; root is /root/unison-test [server: files] rename: moveFirst=false [server: stasher] backup: /root/unison-test / hello [server: pred] follow 'hello' = false [server: fspath] Os.findWorkingDir(/root/unison-test,hello) = (/root/unison-test,hello) [server: stasher] File hello in /root/unison-test does not exist, so no need to back up [server: os] rename /root/unison-test/.unison.hello.8a6c9477fdd76859c429c5bdd5afe2d9.unison.tmp to /root/unison-test/hello [server: files] Contents of /root/unison-test/hello after renaming = 8ddd8be4b179a529afa5f2ffae4b9858 [server: pred] backupcurr 'hello' = false [server: xferhint] insertEntry: fspath=/root/unison-test, path=hello, fp=(8ddd8be4b179a529afa5f2ffae4b9858,) [server: update] replaceArchiveLocal /root/unison-test hello [server: update] Setting archive for //fs2b//root/unison-test [update] updateArchive /root/unison-test hello [pred] ignore 'hello' = false [update] replaceArchiveLocal /root/unison-test hello [update] Setting archive for //fs72a//root/unison-test [pred] backupcurr 'hello' = false [END] Copying hello UNISON 2.48.4 finished propagating changes at 12:58:14.13 on 08 Mar 2023 Saving synchronizer state [update] Updating archives [update] Saving archive in /root/.unison/sceaa7785bb2204bed0cb7af3360b3c323 [server: update] Saving archive in /root/.unison/sc8a6c9477fdd76859c429c5bdd5afe2d9 [update] Copying archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 to /root/.unison/areaa7785bb2204bed0cb7af3360b3c323 [server: update] Copying archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 to /root/.unison/ar8a6c9477fdd76859c429c5bdd5afe2d9 [update] Removing archive /root/.unison/tmeaa7785bb2204bed0cb7af3360b3c323 [server: update] Removing archive /root/.unison/tm8a6c9477fdd76859c429c5bdd5afe2d9 Synchronization complete at 12:58:14 (1 item transferred, 0 skipped, 0 failed) root@fs72a:~# [server: remote] Connection closed by the client To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/2009706/+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