error verbosity: include filename in output, make traceback less prominent

Bug #455081 reported by az on 2009-10-19
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Duplicity
Wishlist
Unassigned

Bug Description

i've got a backup of a large samba share which every now and then fails, apparently because
of files being modified/truncated while duplicity is accessing them: duplicity
dies with a permission denied on reading (all fair and square).

the bug here is that the exception info is extremely verbose wrt. duplicity's calling stack but
completely lacks information useful to the user - like the name/path of the file that causes the
problem.

the information given with the default verbosity level should at least include the relevant information
(like the path here), and ideally not expose too much of the innards to an end user - the traceback
isn't useful unless you're a duplicity developer and might be restricted to higher verbosity levels.

here's the relevant output:
---
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Oct 9 23:25:48 2009
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1241, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1234, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1216, in main
    incremental_backup(sig_chain)
  File "/usr/bin/duplicity", line 488, in incremental_backup
    globals.backend)
  File "/usr/bin/duplicity", line 295, in write_multivol
    globals.gpg_profile, globals.volsize)
  File "/usr/lib/python2.5/site-packages/duplicity/gpg.py", line 282, in GPGWriteFile
    data = block_iter.next(min(block_size, bytes_to_go)).data
  File "/usr/lib/python2.5/site-packages/duplicity/diffdir.py", line 510, in next
    result = self.process(self.input_iter.next(), size)
  File "/usr/lib/python2.5/site-packages/duplicity/diffdir.py", line 636, in process
    data, last_block = self.get_data_block(fp, size - 512)
  File "/usr/lib/python2.5/site-packages/duplicity/diffdir.py", line 663, in get_data_block
    buf = fp.read(read_size)
  File "/usr/lib/python2.5/site-packages/duplicity/diffdir.py", line 420, in read
    buf = self.infile.read(length)
  File "/usr/lib/python2.5/site-packages/duplicity/diffdir.py", line 389, in read
    buf = self.infile.read(length)
IOError: [Errno 13] Permission denied
---

Daniel Hahler (blueyed) on 2011-01-08
Changed in duplicity:
status: New → Triaged
importance: Undecided → Medium
importance: Medium → Wishlist
Daniel Hahler (blueyed) on 2011-01-08
summary: - error verbosity: too much and still too little (useful info)
+ error verbosity: include filename in output, make traceback less
+ prominent
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers