Skip to content

beets crashing with an utf-8 decoding error #2168

@Armael

Description

@Armael

Problem

When importing my music library (beet import mymusic/), beets crashed with the following traceback:

Traceback (most recent call last):
  File "/usr/bin/beet", line 9, in <module>
    load_entry_point('beets==1.3.19', 'console_scripts', 'beet')()
  File "/usr/lib/python2.7/site-packages/beets/ui/__init__.py", line 1266, in main
    _raw_main(args)
  File "/usr/lib/python2.7/site-packages/beets/ui/__init__.py", line 1253, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/lib/python2.7/site-packages/beets/ui/commands.py", line 967, in import_func
    import_files(lib, paths, query)
  File "/usr/lib/python2.7/site-packages/beets/ui/commands.py", line 944, in import_files
    session.run()
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 320, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/usr/lib/python2.7/site-packages/beets/util/pipeline.py", line 251, in run
    msg = next(self.coro)
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 1202, in read_tasks
    for t in task_factory.tasks():
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 1038, in tasks
    for dirs, paths in self.paths():
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 1090, in paths
    for dirs, paths in albums_in_dir(self.toppath):
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 1480, in albums_in_dir
    logger=log):
  File "/usr/lib/python2.7/site-packages/beets/util/__init__.py", line 205, in sorted_walk
    for res in sorted_walk(cur, ignore, ignore_hidden, logger):
  File "/usr/lib/python2.7/site-packages/beets/util/__init__.py", line 190, in sorted_walk
    if (ignore_hidden and not hidden.is_hidden(cur)) or not ignore_hidden:
  File "/usr/lib/python2.7/site-packages/beets/util/hidden.py", line 78, in is_hidden
    path = path.decode('utf-8')
  File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 76: invalid start byte

Setup

  • OS: Archlinux
  • Python version: 2.7.12
  • beets version: Archlinux package is 1.3.19, but beet --version says 1.3.18
  • locales:
$ locale
LANG=fr_FR.UTF8
LC_CTYPE="fr_FR.UTF8"
LC_NUMERIC="fr_FR.UTF8"
LC_TIME="fr_FR.UTF8"
LC_COLLATE="fr_FR.UTF8"
LC_MONETARY="fr_FR.UTF8"
LC_MESSAGES="fr_FR.UTF8"
LC_PAPER="fr_FR.UTF8"
LC_NAME="fr_FR.UTF8"
LC_ADDRESS="fr_FR.UTF8"
LC_TELEPHONE="fr_FR.UTF8"
LC_MEASUREMENT="fr_FR.UTF8"
LC_IDENTIFICATION="fr_FR.UTF8"
LC_ALL=

My configuration (output of beet config) is:

lastgenre:
    count: 5
    force: no
    source: album
    min_weight: 10
    auto: yes
    whitelist: yes
    separator: ', '
    fallback:
    canonical: no
embedart:
    ifempty: yes
    compare_threshold: 0
    auto: yes
    remove_art_file: no
    maxwidth: 0
fetchart:
    enforce_ratio: 5%
    auto: yes
    minwidth: 0
    sources:
    - filesystem
    - coverart
    - itunes
    - amazon
    - albumart
    google_engine: 001442825323518660753:hrh5ch1gjzm
    cautious: no
    maxwidth: 0
    store_source: no
    google_key: REDACTED
    fanarttv_key: REDACTED
    cover_names:
    - cover
    - front
    - art
    - album
    - folder
directory: /pool/musique

import:
    incremental: yes
    log: /pool/beets_import.log

plugins: fromfilename embedart fetchart lastgenre thumbnails
library: /pool/musiclibrary.blb
thumbnails:
    auto: yes
    dolphin: no
    force: no

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugbugs that are confirmed and actionable

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions