Filenames created with ASCII codes instead of actual characters (\x2d instead of -)

Bug #1697783 reported by Sean Sosik-Hamor
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
snapd (Ubuntu)
New
Undecided
Unassigned

Bug Description

I installed canonical-livepatch on a Xenial system and, thanks to bzr failing due to backslashes in the filenames, noticed that filenames are being created with ASCII codes instead of hyphens.

I'm not sure if this is a snapd package bug or a canonical-livepatch snap bug. Either way, shouldn't filenames be created with the proper hypen (-) instead of ASCII code (\x2d)?

ubuntu@iriguchi:/etc$ sudo bzr st
unknown:
  apparmor.d/snap.core.1689.usr.lib.snapd.snap-confine
  apparmor.d/cache/snap.core.1689.usr.lib.snapd.snap-confine
  systemd/system/snap-canonical\x2dlivepatch-22.mount
  systemd/system/snap-core-1689.mount
  systemd/system/snap.canonical-livepatch.canonical-livepatchd.service
  systemd/system/multi-user.target.wants/snap-canonical\x2dlivepatch-22.mount@
  systemd/system/multi-user.target.wants/snap-core-1689.mount@
  systemd/system/multi-user.target.wants/snap.canonical-livepatch.canonical-livepatchd.service@
  udev/rules.d/70-snap.core.rules

In the above status:

 * systemd/system/snap-canonical\x2dlivepatch-22.mount vs. snap-canonical-livepatch-22.mount
 * systemd/system/multi-user.target.wants/snap-canonical\x2dlivepatch-22.mount@ vs snap-canonical-livepatch-22.mount@

ubuntu@iriguchi:/etc$ sudo find . -name \*x2\*
./systemd/system/multi-user.target.wants/snap-canonical\x2dlivepatch-22.mount
./systemd/system/snap-canonical\x2dlivepatch-22.mount

Which causes bzr to fail due to the backslash:

ubuntu@iriguchi:/etc$ sudo bzr add
adding apparmor.d/snap.core.1689.usr.lib.snapd.snap-confine
adding apparmor.d/cache/snap.core.1689.usr.lib.snapd.snap-confine
adding systemd/system/snap-canonical\x2dlivepatch-22.mount
bzr: ERROR: bzrlib.errors.InvalidEntryName: Invalid entry name: snap-canonical\x2dlivepatch-22.mount

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 930, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 1121, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 673, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 697, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 136, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 166, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/builtins.py", line 842, in run
    no_recurse, action=action, save=not dry_run)
  File "/usr/lib/python2.7/dist-packages/bzrlib/mutabletree.py", line 52, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/mutabletree.py", line 453, in smart_add
    adder.add(file_list, recurse=recurse)
  File "/usr/lib/python2.7/dist-packages/bzrlib/mutabletree.py", line 764, in add
    inv_path)
  File "/usr/lib/python2.7/dist-packages/bzrlib/mutabletree.py", line 628, in _add_one_and_parent
    file_id=file_id)
  File "/usr/lib/python2.7/dist-packages/bzrlib/inventory.py", line 2234, in make_entry
    return factory(file_id, name, parent_id)
  File "/usr/lib/python2.7/dist-packages/bzrlib/inventory.py", line 422, in __init__
    super(InventoryFile, self).__init__(file_id, name, parent_id)
  File "/usr/lib/python2.7/dist-packages/bzrlib/inventory.py", line 222, in __init__
    raise errors.InvalidEntryName(name=name)
InvalidEntryName: Invalid entry name: snap-canonical\x2dlivepatch-22.mount

bzr 2.7.0 on python 2.7.12 (Linux-4.4.0-78-generic-x86_64-with-
    Ubuntu-16.04-xenial)
arguments: ['/usr/bin/bzr', 'add']
plugins: bash_completion[2.7.0], bzrtools[2.6.0], changelog_merge[2.7.0],
    grep[2.7.0], launchpad[2.7.0], netrc_credential_store[2.7.0],
    news_merge[2.7.0], po_merge[2.7.0], weave_fmt[2.7.0]
encoding: 'utf-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'

*** Bazaar has encountered an internal error. This probably indicates a
    bug in Bazaar. You can help us fix it by filing a bug report at
        https://bugs.launchpad.net/bzr/+filebug
    including this traceback and a description of the problem.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: snapd 2.25
ProcVersionSignature: Ubuntu 4.4.0-78.99-generic 4.4.62
Uname: Linux 4.4.0-78-generic x86_64
NonfreeKernelModules: kpatch_livepatch_Ubuntu_4_4_0_78_99_generic_23
ApportVersion: 2.20.1-0ubuntu2.6
Architecture: amd64
Date: Tue Jun 13 17:49:21 2017
InstallationDate: Installed on 2017-06-04 (9 days ago)
InstallationMedia: Ubuntu-Server 16.04.2 LTS "Xenial Xerus" - Release amd64 (20170215.8)
ProcEnviron:
 TERM=screen.xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: snapd
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Sean Sosik-Hamor (sciri) wrote :
Revision history for this message
Haw Loeung (hloeung) wrote :

This is LP bug #1650261.

Revision history for this message
Sean Sosik-Hamor (sciri) wrote :

Verified on multiple Xenial home servers as well as Canonical production systems.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.