Thank you everybody for your bug reports and comments.
I believe that this bug is already fixed in the 0.8-series, but we have
not yet released a package for this.
The code triggering this is used when there is an exception/error
message containing a non-ASCII character (for example a filename), so
this is sometimes 'fixed' by fixing the underlying problem. This is why
some commenters say the problem went away when they resolved permissions
issues. I do not know what has changed that is causing this to break for
people it did not break for previously.
The reality is that version 0.7 and below were never actually written to
accommodate non-ASCII characters and the fact it worked at all was
largely luck. The 0.8 series does add proper support for non-ASCII, with
the internals converted to Unicode and Python 3 support.
Many thanks to Pete Zaitcev (zaitcev) in Bug #1797928 for proposing a
patch for this, which I had overlooked.
I have applied this in the branch here: lp:~aaron-
whitehouse/duplicity/07-uexc-fix
It would be helpful if you can please test to see if this fixes your problem as
follows:
1. Create a new destination directory to test with.
2. Test that duplicity fails as you have reported when using this destination.
3. Pull down a copy of the branch with the fix:
bzr branch lp:~aaron-whitehouse/duplicity/07-uexc-fix dup_patched
4. cd dup_patched/duplicity
5. run ./compilec.py
6. change directory back to wherever you were running duplicity from before
5. Test with the patched duplicity:
PYTHONPATH=[full path/]dup_patched [full path/]dup_patched/bin/duplicity [all
of your options/arguments]
Please let me know how you get on.
== Simple illustration of failure ==
A simple example triggering this bug is to create a couple of empty
directories, say "source1" and "dest".
Then try:
duplicity --exclude=bänana source1/ file://dest/
This should give a FilePrefixError (hideous in version 0.7 and much more
informative in 0.8), but instead says:
Traceback (most recent call last):
File "/usr/bin/duplicity", line 1611, in <module>
if "Forced assertion for testing" in util.uexc(e):
File "/usr/lib/python2.7/dist-packages/duplicity/util.py", line 79, in uexc
return ufn(unicode(e).encode('utf-8'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal
not in range(128)
** Branch linked: lp:~aaron-whitehouse/duplicity/07-uexc-fix
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to duplicity in Ubuntu.
https://bugs.launchpad.net/bugs/1770929
Title:
Duplicity fails with UnicodeDecodeError in uexc function
Status in Duplicity:
In Progress
Status in duplicity package in Ubuntu:
Confirmed
Bug description:
backup worked under Ubuntu 17.10
It also worked on Ubuntu 18.4 before last week's update (run on Friday 11.5)
my drive is encrypted
this is the error message in the error frame
Traceback (innermost last):
File "/usr/bin/duplicity", line 1555, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1541, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1393, in main
do_backup(action)
File "/usr/bin/duplicity", line 1523, in do_backup
incremental_backup(sig_chain)
File "/usr/bin/duplicity", line 668, in incremental_backup
globals.backend)
File "/usr/bin/duplicity", line 454, in write_multivol
(tdp, dest_filename, vol_num)))
File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line
146, in schedule_task
return self.__run_synchronously(fn, params)
File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line
172, in __run_synchronously
ret = fn(*params)
File "/usr/bin/duplicity", line 453, in <lambda>
vol_num: put(tdp, dest_filename, vol_num),
File "/usr/bin/duplicity", line 342, in put
backend.put(tdp, dest_filename)
File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 395, in
inner_retry
% (n, e.__class__.__name__, util.uexc(e)))
File "/usr/lib/python2.7/dist-packages/duplicity/util.py", line 79, in uexc
return ufn(unicode(e).encode('utf-8'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 37:
ordinal not in range(128)
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: duplicity 0.7.17-0ubuntu1
ProcVersionSignature: Ubuntu 4.15.0-20.21-generic 4.15.17
Uname: Linux 4.15.0-20-generic x86_64
ApportVersion: 2.20.9-0ubuntu7
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sun May 13 09:55:00 2018
InstallationDate: Installed on 2018-05-01 (11 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
SourcePackage: duplicity
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/duplicity/+bug/1770929/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp