beets: Beets is extremely slow, futex connection time outs

Problem

Beets has been extremely slow for me, when I investigate with strace I see thousands of these:

futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321605, tv_nsec=417935000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321606, tv_nsec=418050000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321607, tv_nsec=418223000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321608, tv_nsec=418410000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321609, tv_nsec=418594000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321610, tv_nsec=418774000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321611, tv_nsec=418958000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321612, tv_nsec=419091000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321613, tv_nsec=419262000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321614, tv_nsec=419467000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321615, tv_nsec=419617000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321616, tv_nsec=419823000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321617, tv_nsec=419974000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321618, tv_nsec=420146000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7f1d30000b60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1593321619, tv_nsec=420260000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)

This is triggered when importing any FLAC albums. I haven’t tested importing other formats.

Setup

  • OS: NixOS
  • Python version: 3.8.3
  • beets version: 1.4.9
  • Turning off plugins made problem go away (yes/no):

My configuration (output of beet config) is:

absubmit:
  auto: true
  extractor: >-
    /nix/store/7bn72r9nycmi6fjklgmkpz88fa5a76r5-essentia-extractor-2.1_beta2/bin/streaming_extractor_music
acoustid:
  apikey: u3HtJQTYY1
art_filename: cover
asciify_paths: false
clutter:
  - Thumbs.DB
  - .DS_Store
directory: /srv/music
embedart:
  auto: true
fetchart:
  auto: true
  cautious: false
  enforce_ratio: 10%
  maxwidth: 2000
  minwidth: 900
  sources: filesystem fanarttv *
format_album: $albumartist - $album
format_item: $artist - $album - $title
format_raw_length: false
id3v23: false
ignore:
  - .*
  - '*~'
  - System Volume Information
  - lost+found
ignore_hidden: true
import:
  autotag: true
  bell: true
  copy: true
  default_action: apply
  delete: false
  detail: true
  duplicate_action: ask
  flat: false
  from_scratch: true
  group_albums: false
  hardlink: false
  incremental: true
  languages:
    - en
  link: false
  log: /home/bemeurer/.local/share/beets.log
  move: true
  none_rec_action: ask
  pretend: false
  quiet: false
  quiet_fallback: skip
  resume: ask
  search_ids: []
  set_fields: {}
  singletons: false
  timid: true
  write: true
lastgenre:
  auto: true
  canonical: true
  fallback: ''
library: /srv/music/library.db
lyrics:
  auto: true
  fallback: ''
match:
  distance_weights:
    album: 3
    album_id: 5
    albumdisambig: 0.5
    artist: 3
    catalognum: 0.5
    country: 0.5
    label: 0.5
    media: 1
    mediums: 1
    missing_tracks: 0.9
    source: 2
    track_artist: 2
    track_id: 5
    track_index: 1
    track_length: 2
    track_title: 3
    tracks: 2
    unmatched_tracks: 0.6
    year: 1
  ignored: []
  max_rec:
    missing_tracks: medium
    unmatched_tracks: medium
  medium_rec_thresh: 0.25
  preferred:
    countries:
      - US
      - GB|UK
    media:
      - Digital Media|File
      - CD
    original_year: true
  rec_gap_thresh: 0.25
  required: []
  strong_rec_thresh: 0.04
  track_length_grace: 10
  track_length_max: 30
max_filename_length: 0
musicbrainz:
  host: musicbrainz.org
  ratelimit: 1
  ratelimit_interval: 1
  searchlimit: 5
original_date: true
path_sep_replace: _
paths:
  comp: 'Various Artists/$album%aunique{}/$disc.$track $title'
  default: '$albumartist/$album%aunique{}/$disc.$track $title'
per_disc_numbering: true
pluginpath: []
plugins:
  - absubmit
  - acousticbrainz
  - badfiles
  - chroma
  - edit
  - embedart
  - fetchart
  - fromfilename
  - info
  - lastgenre
  - lyrics
  - mbsync
  - missing
  - scrub
replace:
  '[<>:"\?\*\|]': _
  '[\\/]': _
  '[\x00-\x1f]': _
  \.$: _
  \s+$: ''
  ^-: _
  ^\.: _
  ^\s+: ''
sort_album: albumartist+ album+
sort_case_insensitive: true
sort_item: artist+ album+ disc+ track+
statefile: state.pickle
threaded: true
time_format: '%Y-%m-%d %H:%M:%S'
timeout: 5
ui:
  color: true
  colors:
    action: blue
    action_default: turquoise
    text_error: red
    text_highlight: red
    text_highlight_minor: lightgray
    text_success: green
    text_warning: yellow
  length_diff_thresh: 10
  terminal_width: 120
va_name: Various Artists
verbose: 0

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 22 (21 by maintainers)

Most upvoted comments

Awesome! Glad I could be (even slightly) helpful. 😃

I think you pass the mutagen object into delete?