Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

beets leaks file descriptors #5171

Open
Serranya opened this issue Mar 31, 2024 · 0 comments
Open

beets leaks file descriptors #5171

Serranya opened this issue Mar 31, 2024 · 0 comments

Comments

@Serranya
Copy link

Problem

I'm running beet import with the chroma plugin enabled. After some time beets cannot open any more files. I think what happens is that beet runs out of the maximum allowed file descriptors.

When I run lsof | grep python I can see that there are over 600 open sockets.

The problem goes away when I disable the chroma plugin.

The problem seems to occur because the fingerprinting via library fails on some files. While the fingerprinting eventually succeeds as chroma tries the next backend (fpcalc) the socket from the first attemt seems to stay open.

I patched beets locally to pass force_fpcalc to https://github.com/beetbox/pyacoustid. This also causes the problem to dissapear.

Setup

  • OS: Alpine Linux 3.19
  • Python version: Python 3.11.8
  • beets version: 1.6.0
  • Turning off plugins made problem go away (yes/no): yes

My configuration (output of beet config) is:

directory: /serra-storage/Music
library: /serra-storage/.Musiclibrary.db

plugins: chroma

import:
    move: no
    copy: no
per_disc_numbering: yes
chroma:
    auto: yes
acoustid:
    apikey: REDACTED
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant