mirror of
https://github.com/Googolplexed0/zotify.git
synced 2026-04-25 06:15:55 +03:00
[GH-ISSUE #61] [Bug Report] Librespot Buffer.read() Bad File Descriptor Exception #49
Labels
No labels
bug
considering
discussion
documentation
enhancement
enhancement
good first issue
help wanted
pull-request
question
stale
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/zotify#49
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 @ulyxie on GitHub (Aug 22, 2025).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/61
Originally assigned to: @Googolplexed0 on GitHub.
Bug Description
Crash appeared after 27 hours during the self.__socket.send(self.__buffer.read()) operation in core.py of librespot. In one of my responses in issue #56 I mentioned this exception and that it happened after 2 hours.
Bug Triggering Command
songs.txt contains 13 private playlists, 4 of which have 600 to 800 songs.
Error Traceback / Logs
zotify_DEBUG_2025-08-21_09-45-09.log
Config File
config_DEBUG.json
Zotify Version
v0.9.25
Additional Context
The environment that zotify is being used in is:
@Googolplexed0 commented on GitHub (Aug 23, 2025):
Some digging is leading me to believe that it tried to run the
.send()method when the.__socketwas either not opened yet or had already been closed. No idea why this would happen at all, nor only after 27 hours of running. Maybe after a long period of not downloading any tracks your OS killed/closed the socket? Might also be some kind of rare race condition (similar to this bug) or a random error.Definitely a networking/connection thing rather than a storage thing. I think the "bad file descriptor" is a misnomer for the buffer the socket is writing to rather than a user-facing file. Unfortunately an error occurring within
socket.send()is probably too low-level for me to track down or help fix.