Hi Bob,
hope you feel better?
Seriously, I can understand that certain issues and badly written error
messages upset you. I tend to feel the same.
This said:
1. one important statement was "writing code at my job", I'm doing this
in my free time, and I appreciate to not be "ranted at" in my free time.
2. you've also written that you've fiddled with the repository, and you
haven't reported what you did, so that I could fix (perhaps) the verify
command to detect it more properly, and catch the exception also properly.
3. anybody is welcome to try to do it better!
Guess what, it'll happen again until someone gives me a reproducer I can
pack into a test case!
KR, Eric
On 07/01/2024 06:10, Robert Nichols wrote:
NOTE: Starting backup operation from source path / to destination
path /media/sysbk/omega-3x
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 11, in <module>
load_entry_point('rdiff-backup==2.2.6', 'console_scripts',
'rdiff-backup')()
File "/usr/lib64/python3.6/site-packages/rdiffbackup/run.py", line
35, in main
sys.exit(main_run(sys.argv[1:]))
File "/usr/lib64/python3.6/site-packages/rdiffbackup/run.py", line
108, in main_run
ret_val |= conn_act.run()
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/actions/backup.py", line
165, in run
ret_code |= self._operate_backup(previous_time)
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/actions/backup.py", line
184, in _operate_backup
self.repo.apply(source_diffiter, previous_time)
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/locations/repository.py", line 403, in apply
self.base_dir, source_diffiter, self.incs_dir, previous_time)
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/locations/_repo_shadow.py", line 125, in apply
for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
File "/usr/lib64/python3.6/site-packages/rdiff_backup/rorpiter.py",
line 406, in FillInIter
for rp in rpiter:
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/locations/_dir_shadow.py", line 107, in get_diffs
for dest_sig in dest_sigiter:
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/locations/_repo_shadow.py", line 176, in _sigs_iterator
for src_rorp, dest_rorp in cls.CCPP:
File
"/usr/lib64/python3.6/site-packages/rdiffbackup/locations/_repo_shadow.py", line 1235, in __next__
source_rorp, dest_rorp = next(self.iter)
File "/usr/lib64/python3.6/site-packages/rdiff_backup/rorpiter.py",
line 364, in Collate2Iters
relem2 = next(riter2)
File "/usr/lib64/python3.6/site-packages/rdiffbackup/meta/ea.py",
line 253, in join_iter
eaidx=map(safestr.to_str, ea.index)))
AssertionError: Missing rorp for EA index '<map object at 0x7f2f23738780>'.
The above tells the end user pretty much nothing. My own opinion is that
every traceback presented to the end user should be reported as a bug.
When I was writing code at my job, I spent more time checking that the
error legs produced meaningful messages than I did on the mainline code.
Now in this case I know that something I had been doing with (or "to",
more accurately) the archive no doubt caused it, but I certainly don't
know just what was wrong. FWIW, this archive had just passed a verify
test for each of the 8 most recent increments. It's all being restored
as I'm writing this.