mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-03-02 22:46:55 -05:00
[Bug]: Error: EINVAL: invalid argument, open #2871
Labels
No labels
authentication
awaiting release
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/audiobookshelf-advplyr#2871
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @timkeefer1 on GitHub (Jul 3, 2025).
What happened?
I think my ABS instance is getting... confused with file names or locations? Audiobooks will play fine for a while and then I get this :
Error: EINVAL: invalid argument, open '/data/media/audiobooks/Author Name/Book Name/Author Name - Book Name.m4b'This happens regardless if I'm using Shelfplayer, Plappa, or the ABS Web UI.
When I "docker exec -it audiobookshelf sh" I can ls the folder and clearly see the file there.
And I can even restart the container and/or the stack, and the error still reoccurs.
When I completely restart the docker host, I'm able to start playing the audiobook again.
Any thoughts/help?
What did you expect to happen?
I'm normally using Shelfplayer, so maybe something is getting hung up in some kind of progress tracking?
Steps to reproduce the issue
Audiobookshelf version
v2.25.1
How are you running audiobookshelf?
Docker
What OS is your Audiobookshelf server hosted from?
Linux
If the issue is being seen in the UI, what browsers are you seeing the problem on?
Firefox
Logs
Additional Notes
No response
@nichwall commented on GitHub (Jul 3, 2025):
Does it print out
/data/media/audiobooks/Author Name/Book Name/Author Name - Book Name.m4bin the logs, or did you replace the string in this log? If so, what is the actual log line?@timkeefer1 commented on GitHub (Jul 3, 2025):
Ahh... no I was protecting the innocent ;) Here's my actual log line:
Error: EINVAL: invalid argument, open '/data/media/audiobooks/Matt Dinniman/Dungeon Crawler Carl/Matt Dinniman - Dungeon Crawler Carl.m4b'Having a great time listening to the book, btw :)
@nichwall commented on GitHub (Jul 3, 2025):
Thanks for clarifying. Sometimes the issue is related to non-ascii characters causing an issue and wanted to sanity check.
@timkeefer1 commented on GitHub (Jul 3, 2025):
Happens with other books too. I also validated with The Trading Game by Gary Stevenson. (These are the only two I'm listening to right now.)
It only happens when I stop listening for a while, and them attempt to restart. It just happened right now as I'm listening to that book and paused it to reply and tried to resume.
Error: EINVAL: invalid argument, open '/data/media/audiobooks/Matt Dinniman/Dungeon Crawler Carl/Matt Dinniman - Dungeon Crawler Carl.m4b'I primarily use Shelfplayer... maybe it's disconnecting in a way that's causing things to get confused? Or when trying to do a "resume" posting a weird response to ABS?
I didn't even hard quit the app - I just hit pause, then tried to come back to the book and unpause it. Incidentally I was using the start/stop controls on my airpod, but as mentioned before, once it gets in this state, even when using the web player the container posts this error to the docker log.
It seems to be OK when I'm listening to podcasts, just audiobooks - not sure if that helps? It can even "break" when playing an audio book, and I can start playing a podcast just fine. (Just did it right now.)
Is there a verbose logging mode I can turn on temporarily to help give more data? BTW thanks for your help so far :)
@nichwall commented on GitHub (Jul 4, 2025):
That is good to know. Is the media streaming directly or being transcoded? You should be able to look at the logs for this, or at the top of the player for the words "Direct" or "Streaming", but I'm not sure if the 3rd party apps show this information.
Yes, you can enable Debug logs in the server settings.
@timkeefer1 commented on GitHub (Jul 4, 2025):
OK when using ShelfPlayer it's using direct play... when using ABS via the web, it's transcoding. I also enabled verbose mode and here's the log... note that I'm using the web UI here to play, rather than shelfplayer to eliminate potential 3rd party app from the equation...
When I try the same process, but using SheflPlayer - here's the full log (this includes app launch to hitting "resume"):
edit: fixed code snippets
@Vito0912 commented on GitHub (Jul 4, 2025):
Can you try playing the file with a standard player. (Not something like VLC) And directly via the browser.
Could you also tell the used codec please?
@timkeefer1 commented on GitHub (Jul 4, 2025):
Sure! I played it using Foobar 2000 and Firefox from the Samba share in windows, and it worked fine.
Here's the log from Foobar:
Here's the listening session detail from when I'm trying to play from the web browser:
@timkeefer1 commented on GitHub (Jul 6, 2025):
Is there anything else we can do to get more information on the error? From the looks of the error ("Impossible to open"), it sounds like ABS can't access the file, but logging in as root into the docker container can. However, we do know that ABS can normally access the file, because often playback does work. So, we know it's not a permissions issue or an issue with the share/file itself. Is it possible that somehow ABS is getting stuck when releasing the file, or caching some kind of session information it's trying to re-use? I'm just taking shots in the dark, but trying to be helpful in coming up with a solution.
Is there a way to find out what the argument is that is being used for the input session - where this error is generated?
[2025-07-04 13:59:04.376] INFO: [in#0 @ 0x7f36e4689980] Error opening input: Invalid argumentHere's an example of a successful playback, if this helps?