Re: General rant against Python programmers

EricZolf <[email protected]> Sun, 7 Jan 2024 11:08:46 +0100
Newsgroups gmane.comp.sysutils.backup.rdiff-backup.general
Organization rdiff-backup.net
Message-ID <[email protected]>
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.
>