Consistently getting "corrupted on transfer: sizes differ" syncing to an SMB share

i believe i have found another legit issue with rclone+vss that needs to be fixed.
i would like to be able to switch to and focus that.

so, i hope we can agree, in your case.
corrupted on transfer: sizes differ is the correct, expected behavior.

your point is clear. the source is a vss snapshot that is write-protected.
you are using my wiki about vss and so am i.
the same technique i have used on a daily basis for all my backups for over the last four years, on over a dozen desktops, servers and vm.

this is the root of confusion.
believe me, for a write-protected, read-only vss snapshot, that is a more than a valid assumption.
in my humble opinion, not a tested conclusion.

this is not about the source file. i agree that the source file never changes.
in this specific case, not about rclone.

this is about the copy operation itself as performed by windows os.
that is where the change happens.
rclone copies the source file in the same way as every copy tool i have tested.

as i mentioned, i suggested testing on other copy tools.

  • all the copied files have the same file size.
  • all the copied files have the same md5 hash.

here are some sample commands

fastcopy.exe /cmd=sync /no_ui /filelog=.\fc.log "t:\places.sqlite-wal" /to="d:\test\copied.by.fastcopy"
copy t:\places.sqlite-wal d:\test\copied.by.dos
powershell /c copy t:\places.sqlite-wal d:\test\copied.by.powershell

note: t: is using variant #1 from my wiki, to make it easier to discuss and read debug logs.
since your logs had issues with thunderbird profile files, i have chosen to focus on that.
if you could do that same in your testing, that would be great

subst
T:\: => b:\rclone\vss\system\Users\user01\AppData\Roaming\Thunderbird\Profiles\idsc7o79.default-release

and here is some output from my testing,
rclone produces the same file size and the same hash as other copy tools.

from my log, source file is being updated (size changed from 1278920 to 1934760)
the source file size is 1278920, which is correct
the dest file size is 1934760, which is correct

the size and hash of the source file

dir t:\places.sqlite-wal
1,278,920 places.sqlite-wal

fchash.exe --md5 t:\places.sqlite-wal
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal

file sizes of the copied files

dir d:\test

directory of d:\test\copied.by.dos
1,934,760 places.sqlite-wal

directory of d:\test\copied.by.doublecommander
1,934,760 places.sqlite-wal

directory of d:\test\copied.by.fastcopy
1,934,760 places.sqlite-wal

directory of d:\test\copied.by.powershell
1,934,760 places.sqlite-wal

directory of d:\test\copied.by.rclone
1,934,760 places.sqlite-wal

directory of d:\test\copied.by.windows.explorer
1,934,760 places.sqlite-wal

md5 hash of the copied files

fchash.exe --md5 --recursive d:\test
d:\test\copied.by.dos\ :
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal
d:\test\copied.by.doublecommander\ :
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal
d:\test\copied.by.fastcopy\ :
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal
d:\test\copied.by.powershell\ :
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal
d:\test\copied.by.rclone\ :
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal
d:\test\copied.by.windows.explorer\ :
  md5 <0a4372a5baca1055cdd865c44b2c84b9>: places.sqlite-wal