Control: found -1 2.2.2-1 On Fri, 2023-02-03 at 15:15 -0800, Otto Kekäläinen wrote:
> If you can still reproduce this issue or find other issues in how > rdiff-backup itself works, please report it to upstream at > https://github.com/rdiff-backup/rdiff-backup. I no longer use rdiff-backup so I won't be forwarding this upstream, but I can still reproduce the problem with the latest version. I used GNOME Disks to create an 100MB disk image, loopback attached it, created an ext4 filesystem, mounted it and then backed up to it. The errors are different to initially reported but some still occur: $ rdiff-backup backup test-source-data1/ /media/pabs/test/rdiff-backup/ $ rdiff-backup backup test-source-data2/ /media/pabs/test/rdiff-backup/ NOTE: Starting increment operation from source path tmp-liferea-recovery to destination path /media/pabs/3f8f3006-2e39-40b7-8cad-6de36641ae8d/rdiff-backup WARNING: Exception '[Errno 28] No space left on device' raised of class '<class 'OSError'>': File "/usr/lib/python3/dist-packages/rdiff_backup/robust.py", line 94, in check_common_error return function(*args) ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1583, in copy return copy_reg_file(rpin, rpout, compress) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1617, in copy_reg_file return rpout.write_from_fileobj(rpin.open("rb"), compress=compress) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1160, in write_from_fileobj copyfileobj(fp, outfp) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1545, in copyfileobj outputfp.write(inbuf) Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 33, in <module> sys.exit(load_entry_point('rdiff-backup==2.2.2', 'console_scripts', 'rdiff-backup')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 37, in main sys.exit(main_run(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 105, in main_run ret_val |= conn_act.run() ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/actions/backup.py", line 154, in run backup.mirror_and_increment_compat200( File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 53, in mirror_and_increment_compat200 DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath) File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 210, in patch_and_increment ITR(diff.index, diff) File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 146, in __call__ last_branch.fast_process_file(*args) File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 802, in fast_process_file if self._patch_to_temp(mirror_rp, diff_rorp, tf): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 655, in _patch_to_temp result = self._patch_snapshot_to_temp(diff_rorp, new) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 701, in _patch_snapshot_to_temp report = robust.check_common_error(self.error_handler, rpath.copy, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/robust.py", line 94, in check_common_error return function(*args) ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1583, in copy return copy_reg_file(rpin, rpout, compress) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1617, in copy_reg_file return rpout.write_from_fileobj(rpin.open("rb"), compress=compress) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1160, in write_from_fileobj copyfileobj(fp, outfp) File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1545, in copyfileobj outputfp.write(inbuf) OSError: [Errno 28] No space left on device $ rdiff-backup backup test-source-data2/ /media/pabs/test/rdiff-backup/ Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 33, in <module> sys.exit(load_entry_point('rdiff-backup==2.2.2', 'console_scripts', 'rdiff-backup')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 37, in main sys.exit(main_run(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 99, in main_run ret_val |= conn_act.setup() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/actions/backup.py", line 112, in setup self.repo.base_dir.conn.fs_abilities.backup_set_globals( File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 1078, in backup_set_globals dest_fsa = FSAbilities('destination', Globals.rbdir) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 72, in __init__ self._init_readwrite() File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 159, in _init_readwrite subdir = self.root_rp.get_temp_rpath() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1121, in get_temp_rpath if not tf.lstat(): ^^^^^^^^ AttributeError: 'str' object has no attribute 'lstat' $ rdiff-backup --check-destination-dir /media/pabs/test/rdiff-backup/ WARNING: this command line interface is deprecated and will disappear, start using the new one as described with '--new --help'. Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 33, in <module> sys.exit(load_entry_point('rdiff-backup==2.2.2', 'console_scripts', 'rdiff-backup')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 37, in main sys.exit(main_run(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 99, in main_run ret_val |= conn_act.setup() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/actions/regress.py", line 91, in setup self.repo.base_dir.conn.fs_abilities.single_set_globals( File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 1131, in single_set_globals fsa = FSAbilities(rp.path, rp) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 72, in __init__ self._init_readwrite() File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 159, in _init_readwrite subdir = self.root_rp.get_temp_rpath() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1121, in get_temp_rpath if not tf.lstat(): ^^^^^^^^ AttributeError: 'str' object has no attribute 'lstat' $ rdiff-backup --remove-older-than '2023-02-04T09:39:27+08:00' /media/pabs/test/rdiff-backup/ WARNING: this command line interface is deprecated and will disappear, start using the new one as described with '--new --help'. Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 33, in <module> sys.exit(load_entry_point('rdiff-backup==2.2.2', 'console_scripts', 'rdiff-backup')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 37, in main sys.exit(main_run(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/run.py", line 99, in main_run ret_val |= conn_act.setup() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiffbackup/actions/remove.py", line 97, in setup self.repo.base_dir.conn.fs_abilities.single_set_globals( File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 1131, in single_set_globals fsa = FSAbilities(rp.path, rp) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 72, in __init__ self._init_readwrite() File "/usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py", line 159, in _init_readwrite subdir = self.root_rp.get_temp_rpath() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1121, in get_temp_rpath if not tf.lstat(): ^^^^^^^^ AttributeError: 'str' object has no attribute 'lstat' -- bye, pabs https://wiki.debian.org/PaulWise
signature.asc
Description: This is a digitally signed message part