beetbox / beetbox/beets

Input/output error

Open
#5,085 3 comments 0 reactions 0 assignees View on GitHub
needinfo
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

Hello all
I encountered this bug while trying to import some music into my library.
Maybe this helps with the Development.

```
/run/user/1000/gvfs/smb-share:server=illmatic.local,share=media/Music/downloads/MF DOOM/Singles/Yee Haw VLS (2003) (4 items)
Tagging:
MF DOOM - Yee Haw
URL:
https://musicbrainz.org/release/47b0acd9-b7c0-480e-b521-debe691019b0
(Similarity: 100.0%) (12" Vinyl, 2003, US, Molemen, MR 015)
* Yee Haw (Instrumental) -> Yee Haw (instrumental)
* Is He Ill? (Instrumental) -> Is He Ill? (instrumental)

Traceback (most recent call last):
File "/usr/bin/beet", line 33, in
sys.exit(load_entry_point('beets==1.6.0', 'console_scripts', 'beet')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/beets/beets/ui/__init__.py", line 1285, in main
_raw_main(args)
File "/usr/share/beets/beets/ui/__init__.py", line 1272, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "/usr/share/beets/beets/ui/commands.py", line 973, in import_func
import_files(lib, paths, query)
File "/usr/share/beets/beets/ui/commands.py", line 943, in import_files
session.run()
File "/usr/share/beets/beets/importer.py", line 340, in run
pl.run_parallel(QUEUE_SIZE)
File "/usr/share/beets/beets/util/pipeline.py", line 446, in run_parallel
raise exc_info[1].with_traceback(exc_info[2])
File "/usr/share/beets/beets/util/pipeline.py", line 358, in run
self.coro.send(msg)
File "/usr/share/beets/beets/util/pipeline.py", line 170, in coro
task = func(*(args + (task,)))
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/beets/beets/importer.py", line 1573, in manipulate_files
task.finalize(session)
File "/usr/share/beets/beets/importer.py", line 607, in finalize
self.cleanup(copy=session.config['copy'],
File "/usr/share/beets/beets/importer.py", line 635, in cleanup
self.prune(old_path)
File "/usr/share/beets/beets/importer.py", line 880, in prune
util.prune_dirs(os.path.dirname(filename),
File "/usr/share/beets/beets/util/__init__.py", line 296, in prune_dirs
match_paths = [bytestring_path(d) for d in os.listdir(directory)]
^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 5] Input/output error: b'/run/user/1000/gvfs/smb-share:server=illmatic.local,share=media/Music/downloads/MF DOOM/Compilations/DOOM - DOOM! (2010)'
```

Contributor guide

Open the contributing guide

Research direction

Start with the traceback through beets/importer.py, especially prune and cleanup, then inspect beets/util/__init__.py at prune_dirs and the pipeline entry in beets/util/pipeline.py. Reproduce the import against the reported GVFS SMB path if possible and determine what project change is appropriate for this I/O failure. Done requires an agreed fix or handling path verified against the reported scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.