I keep getting "[Errno 9] Bad file descriptor"


I’ve been looking for a little bit for a solution to the problem in the subject. I’m trying to tag and rename a bunch of songs I found on an old iPod Nano, all of which play perfectly well, but all of which are also given that garbage naming scheme designed to presumably prevent easy sharing.

So I successfully import the files to Picard by dragging and dropping the folders, I successfully cluster them, I successfully use the lookup tool on the new clusters, but when I try to save anything in the right pane, I get the error in the subject line, full text being: " (95%) (error: [Errno 9] Bad file descriptor)"

The error log itself is showing:

E: 16:37:31,680 util.thread.run:51: Traceback (most recent call last):
File “picard\util\thread.py”, line 47, in run
File “picard\file.py”, line 211, in _save_and_rename
File “picard\formats\mp4.py”, line 218, in _save
File “site-packages\mutagen\mp4\__init__.py”, line 1088, in save
File “site-packages\mutagen\_util.py”, line 140, in wrapper
File “contextlib.py”, line 66, in __exit__
File “site-packages\mutagen_util.py”, line 268, in _openfile
OSError: [Errno 9] Bad file descriptor

I feel like I’m missing something simple. I’ve checked to make sure the files aren’t read-only, but don’t know what else to look for.


Hard to say what is actually happening. Are the files maybe opened by another program? From where do you open the files, are they on your local disk or are you loading them directly from the iPod? If so, try copying them to your local disk first.

Also please try Picard 2 that was released recently.