Skip to content

UnicodeEncodeError: 'utf-8' codec can't encode character '\udce9' in position 14: surrogates not allowed #5648

Closed
@kalon33

Description

@kalon33

Problem

Running this command in verbose (-vv) mode:

$ $ ./bin/beet -vv import -gC /media/nicolas/musique/
user configuration: /home/nicolas/.config/beets/config.yaml
data directory: /home/nicolas/.config/beets
plugin paths: 
lyrics: Disabling google source: no API key configured.
fetchart: google: Disabling art source due to missing key
fetchart: lastfm: Disabling art source due to missing key
Sending event: pluginload
library database: /media/nicolas/musique/musiclibrary.db
library directory: /media/nicolas/musique
Sending event: library_opened
Sending event: import_begin
state file could not be read: [Errno 2] No such file or directory: '/home/nicolas/.config/beets/state.pickle'
ignoring '.directory' due to ignore rule '.*'
ignoring '.folder.png' due to ignore rule '.*'
Traceback (most recent call last):
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/util/__init__.py", line 413, in bytestring_path
    return str_path.encode(_fsencoding())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'utf-8' codec can't encode character '\udce9' in position 14: surrogates not allowed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/nicolas/beets/./bin/beet", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/ui/__init__.py", line 1870, in main
    _raw_main(args)
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/ui/__init__.py", line 1849, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/ui/commands.py", line 1398, in import_func
    import_files(lib, paths, query)
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/ui/commands.py", line 1329, in import_files
    session.run()
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/importer.py", line 360, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/util/pipeline.py", line 446, in run_parallel
    raise exc_info[1].with_traceback(exc_info[2])
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/util/pipeline.py", line 260, in run
    msg = next(self.coro)
          ^^^^^^^^^^^^^^^
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/importer.py", line 1444, in read_tasks
    yield from task_factory.tasks()
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/importer.py", line 1259, in tasks
    for dirs, paths in self.paths():
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/importer.py", line 1309, in paths
    for dirs, paths in albums_in_dir(self.toppath):
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/importer.py", line 1770, in albums_in_dir
    for root, dirs, files in sorted_walk(
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/util/__init__.py", line 229, in sorted_walk
    base = bytestring_path(str_base)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/nicolas/beets/lib/python3.12/site-packages/beets/util/__init__.py", line 415, in bytestring_path
    return str_path.encode("utf-8")
           ^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'utf-8' codec can't encode character '\udce9' in position 14: surrogates not allowed

Led to this problem:

I can't use beets to tag my music library.

Setup

  • OS: Ubuntu 24.04.2 LTS
  • Python version: 3.12
  • beets version: 2.2.0
  • Turning off plugins made problem go away (yes/no): no

My configuration (output of beet config) is:

lyrics:
    bing_lang_from: []
    auto: yes
    synced: yes
    bing_client_secret: REDACTED
    bing_lang_to:
    google_API_key: REDACTED
    google_engine_ID: REDACTED
    genius_api_key: REDACTED
    fallback:
    force: no
    local: no
    sources:
    - google
    - genius
    - tekstowo
    - lrclib
    dist_thresh: 0.1
directory: /media/nicolas/musique
# --------------- Main ---------------

library: /media/nicolas/musique/musiclibrary.db

import:
    copy: no

# --------------- Plugins ---------------

plugins: discogs lyrics autobpm chroma fetchart lastgenre lyrics replaygain
discogs:
    apikey: REDACTED
    apisecret: REDACTED
    tokenfile: discogs_token.json
    source_weight: 0.5
    user_token: REDACTED
    separator: ', '
    index_tracks: no
    append_style_genre: no
fetchart:
    auto: yes
    minwidth: 0
    maxwidth: 0
    quality: 0
    max_filesize: 0
    enforce_ratio: no
    cautious: no
    cover_names:
    - cover
    - front
    - art
    - album
    - folder
    sources:
    - filesystem
    - coverart
    - itunes
    - amazon
    - albumart
    - cover_art_url
    store_source: no
    high_resolution: no
    deinterlace: no
    cover_format:
    google_key: REDACTED
    google_engine: 001442825323518660753:hrh5ch1gjzm
    fanarttv_key: REDACTED
    lastfm_key: REDACTED
lastgenre:
    whitelist: yes
    min_weight: 10
    count: 1
    fallback:
    canonical: no
    source: album
    force: yes
    auto: yes
    separator: ', '
    prefer_specific: no
    title_case: yes
replaygain:
    overwrite: no
    auto: yes
    backend: command
    threads: 12
    parallel_on_import: no
    per_disc: no
    peak: 'true'
    targetlevel: 89
    r128: [Opus]
    r128_targetlevel: 84
    command: ''
    noclip: yes
chroma:
    auto: yes
autobpm:
    auto: yes
    overwrite: no
    beat_track_kwargs: {}

Thanks for your help!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions