Package: duplicity
Version: 0.6.18-2
Severity: normal
Tags: patch
I started seeing these errors every time I do a backup to S3 using duplicity:
Traceback (most recent call last):
File "/usr/bin/duplicity", line 1404, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1397, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1277, in main
globals.archive_dir).set_values()
File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 691,
in set_values
self.get_backup_chains(partials + backend_filename_list)
File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 815,
in get_backup_chains
map(add_to_sets, filename_list)
File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 805,
in add_to_sets
log.Debug(_("File %s is part of known set") % (filename,))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 16:
ordinal not in range(128)
Traceback (most recent call last):
File "/usr/bin/duplicity", line 1404, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1397, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1277, in main
globals.archive_dir).set_values()
File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 691,
in set_values
self.get_backup_chains(partials + backend_filename_list)
File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 814,
in get_backup_chains
map(add_to_sets, filename_list)
File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 808,
in add_to_sets
log.Debug(_("File %s is not part of a known set; creating new set") %
(filename,))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 23:
ordinal not in range(128)
Attached is the patch I applied to make these errors go away.
Cheers,
Francois
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.4.5-grsec+ (SMP w/2 CPU cores)
Locale: LANG=fr_CA.utf8, LC_CTYPE=fr_CA.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages duplicity depends on:
ii libc6 2.13-35
ii librsync1 0.9.7-9
ii python 2.7.3-1
ii python-gnupginterface 0.3.2-9.1
ii python2.7 2.7.3-2
Versions of packages duplicity recommends:
ii python-paramiko 1.7.7.1-3
ii rsync 3.0.9-3
Versions of packages duplicity suggests:
pn lftp <none>
ii ncftp 2:3.2.5-1.1
ii python-boto 2.3.0-1
pn python-cloudfiles <none>
pn python-gdata <none>
ii python-pexpect 2.4-1
pn tahoe-lafs <none>
-- no debconf information
--- duplicity/collections.py 2012-03-01 08:24:04.000000000 +1300
+++ /home/francois/collections.py 2012-07-26 19:08:51.692698922 +1200
@@ -807,15 +802,16 @@
"""
for set in sets:
if set.add_filename(filename):
- log.Debug(_("File %s is part of known set") % (filename,))
+ #log.Debug(_("File %s is part of known set") % (filename,))
break
else:
- log.Debug(_("File %s is not part of a known set; creating new set") % (filename,))
+ #log.Debug(_("File %s is not part of a known set; creating new set") % (filename,))
new_set = BackupSet(self.backend)
if new_set.add_filename(filename):
sets.append(new_set)
else:
- log.Debug(_("Ignoring file (rejected by backup set) '%s'") % filename)
+ #log.Debug(_("Ignoring file (rejected by backup set) '%s'") % filename)
+ pass
map(add_to_sets, filename_list)
sets, incomplete_sets = self.get_sorted_sets(sets)