Input/output error
- 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
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