Error restoring from backup: UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc'...

38 views
Skip to first unread message

Pablo Di Noto

unread,
Mar 19, 2016, 12:15:33 PM3/19/16
to qubes-users
Hello,

Running Qubes R3.1 on two machines (desktop is i5-750, notebook is i3-5040).

Made a backup on the laptop, tried to recover it on the desktop using a portable drive as medium.
The portable drive is formatted as NTFS (for legacy reasons), and has a label with accented characters ("PaoloFlex Güairles")
The portable drive gets mounted under /run/media/pdinoto/PaoloFlex Güairles on dom0 and Thunar seems to handle the disk without issues (mount, unmount, file copy, etc).

When trying to perform a restore on qubes-manager, this "UnicodeEncodeError" can be triggered in different ways:
  • Choosing a backup file that is inside the disk with accented label, which then takes you to the VM restore selection dialog, then you get the error after the progress dialog appears. Error in this case is in 
    line no.: 246
    file: /usr/lib64/python2.7/site-packages/qubesmanager/restore.py
    No matter what you choose on the error dialog, qubes-manager stays freezed afterward.
  • Pasting the path into the Backup File: text field. Error in this case is in
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 31: ordinal not in range(128)
    This is most likely a bug in the Qubes Manager
    ----
    line: st = os.stat(path)
    func: isfile
    line no.: 29
    file: /usr/lib64/python2.7/genericpath.py
    ----
    line: if os.path.isfile(backup_location) or \
    func: has_selected_dir
    line no.: 321
    file: /usr/lib64/python2.7/site-packages/qubesmanager/restore.py
    Here also no matter what you choose on the error dialog, qubes-manager stays freezed afterward.
  • Sometimes, the file selector from qubes-manager will complain with
    The file or folder /run/media/pdinoto/PaoloFlex Güairles does not exist.
    if you try to navigate into such a disk.
    You can cancel, and this time qubes-manager stays working fine.

If this can be considered as is a unique but I can create an issue.
I believe is a generic localized path handling error (Qt? Python2.7?) and deserves a better and generic issue description.

I am willing to do more testing, if that helps.


Workaround is simple: Rename the disk to have no accented characters and all errors dissappear.

Great work, by the way!

///Pablo

Marek Marczykowski-Górecki

unread,
Mar 19, 2016, 5:50:48 PM3/19/16
to Pablo Di Noto, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Sat, Mar 19, 2016 at 09:15:33AM -0700, Pablo Di Noto wrote:
> Hello,
>
> Running Qubes R3.1 on two machines (desktop is i5-750, notebook is i3-5040).
>
> Made a backup on the laptop, tried to recover it on the desktop using a
> portable drive as medium.
> The portable drive is formatted as NTFS (for legacy reasons), and has a
> label with accented characters ("PaoloFlex Güairles")
> The portable drive gets mounted under /run/media/pdinoto/PaoloFlex Güairles
> on dom0 and Thunar seems to handle the disk without issues (mount, unmount,
> file copy, etc).
>
> When trying to perform a restore on qubes-manager, this
> "UnicodeEncodeError" can be triggered in different ways:
>
> - Choosing a backup file that is inside the disk with accented label,
> which then takes you to the VM restore selection dialog, then you get the
> error after the progress dialog appears. Error in this case is in
> line no.: 246
> file: /usr/lib64/python2.7/site-packages/qubesmanager/restore.py
> No matter what you choose on the error dialog, qubes-manager stays
> freezed afterward.
> - Pasting the path into the Backup File: text field. Error in this case
> is in
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in
> position 31: ordinal not in range(128)
> This is most likely a bug in the Qubes Manager
> ----
> line: st = os.stat(path)
> func: isfile
> line no.: 29
> file: /usr/lib64/python2.7/genericpath.py
> ----
> line: if os.path.isfile(backup_location) or \
> func: has_selected_dir
> line no.: 321
> file: /usr/lib64/python2.7/site-packages/qubesmanager/restore.py
> Here also no matter what you choose on the error dialog, qubes-manager
> stays freezed afterward.
> - Sometimes, the file selector from qubes-manager will complain with
> The file or folder /run/media/pdinoto/PaoloFlex Güairles does not exist.
> if you try to navigate into such a disk.
> You can cancel, and this time qubes-manager stays working fine.
>
> If this can be considered as is a unique but I can create an issue.

Yes, please create issue on github.

> I believe is a generic localized path handling error (Qt? Python2.7?) and
> deserves a better and generic issue description.

It looks like a bug in qubes backup handling - backup_location should be
stored as unicode, not a plain str.

> I am willing to do more testing, if that helps.
>
>
> Workaround is simple: Rename the disk to have no accented characters and
> all errors dissappear.

Or manually mount in a directory without such characters.

> Great work, by the way!

Thanks!

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJW7cmvAAoJENuP0xzK19cs+vMH/iUfKoXUa4c5wEMANk3H4+Ut
HF9uzdHoBYSySzA68qkdD6D6f3hcI/QixyS3K4Ra8zhZTRsZQLfn7qNyj4QwBgN7
yN1S7Xbxvw0VAREieKaGL+DUiKnitptP3/O4ZDJmF/fnLz7Vz/7fAqwD8zAqOfBl
r43Bk1URnQHckReZVANkDGCTXmTUnte2+BG1/rxxRZtLRBvIxlPn/i9aVkTSuFcC
VN2MRjCSeDYPqA2MKJKOqFpYIYSDPByi/wH+oDVCxwphdCcew2HXba7ja+dr397H
bD7YKPuwLroM+TDV6bQreJnZ2GBl6NVuCJ1shUsG+QQVArVW6zyLGGV/RDfjkzo=
=zEdz
-----END PGP SIGNATURE-----

Pablo Di Noto

unread,
Mar 20, 2016, 1:38:34 AM3/20/16
to qubes-users, pdi...@gmail.com


El sábado, 19 de marzo de 2016, 21:50:48 (UTC), Marek Marczykowski-Górecki escribió:
On Sat, Mar 19, 2016 at 09:15:33AM -0700, Pablo Di Noto wrote:
> If this can be considered as is a unique but I can create an issue.

Yes, please create issue on github.

> I believe is a generic localized path handling error (Qt? Python2.7?) and
> deserves a better and generic issue description.

It looks like a bug in qubes backup handling - backup_location should be
stored as unicode, not a plain str.

> Workaround is simple: Rename the disk to have no accented characters and
> all errors dissappear.

Or manually mount in a directory without such characters.


You are right, that is much more simple.

Thanks,
///Pablo

 
 
Reply all
Reply to author
Forward
0 new messages