beets
beets copied to clipboard
beets leaks file descriptors
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