spotifyd
spotifyd copied to clipboard
Occasional crashes in 0.3.3
Description Occasionally spotifyd crashes. More frequently in the last couple of days - possibly spotify changing something on the backend?
To Reproduce Leave the music on for a few hours
Expected behavior spotifyd does not crash :-)
Logs
Click to show logs
Jan 17 09:37:19 nuc spotifyd[55192]: Loading <RUSSIAN DRIFT> with Spotify URI <spotify:track:3ONCxAVj5oNNKMH6vHy73W>
Jan 17 09:37:19 nuc spotifyd[55192]: <RUSSIAN DRIFT> (136660 ms) loaded
Jan 17 09:39:35 nuc spotifyd[55192]: Loading <Sharingan> with Spotify URI <spotify:track:7u4zUJKATHBeymXMMOXnjJ>
Jan 17 09:39:35 nuc spotifyd[55192]: <Sharingan> (225985 ms) loaded
Jan 17 09:43:21 nuc spotifyd[55192]: Loading <On Jet.> with Spotify URI <spotify:track:5T3DBjo3kubrp1KDNrRsYi>
Jan 17 09:43:21 nuc spotifyd[55192]: <On Jet.> (169500 ms) loaded
Jan 17 09:46:11 nuc spotifyd[55192]: Loading <Melancholy> with Spotify URI <spotify:track:67J9oAUsdZEsXpELyhPiSD>
Jan 17 09:46:11 nuc spotifyd[55192]: <Melancholy> (205440 ms) loaded
Jan 17 09:49:36 nuc spotifyd[55192]: Loading <ERA SVOA> with Spotify URI <spotify:track:0D1orB0F70kDzkUeJgXSe3>
Jan 17 09:49:37 nuc spotifyd[55192]: <ERA SVOA> (171356 ms) loaded
Jan 17 09:52:27 nuc spotifyd[55192]: PANIC: Shutting down spotifyd. Error message: index out of bounds: the len is 19 but the index is 18446744073709551612
Compilation flags
- [ ] dbus_mpris
- [ ] dbus_keyring
- [x] alsa_backend
- [ ] portaudio_backend
- [ ] pulseaudio_backend
- [ ] rodio_backend
Versions (please complete the following information):
- OS: Ubuntu 20.04.3
- Spotifyd: 0.3.3
- cargo: N/A
I'm new to the project, and running on macOS. However, I would love to help you out :)
I have a few suspicions. It's definitely an overflow, but it's not clear where it's happening. Lots of unchecked division/multiplication in the project.
So my main problem is I can't get the project to build because I need linux specific headers. Since you are on linux it might be a lot easier for you.
Here's what I want you to do. Instead of running your spotifyd as you normally do; run it like so:
git clone [email protected]:Spotifyd/spotifyd.git; git checkout v0.3.3RUST_BACKTRACE=1 cargo run
Now when it panics we should get a backtrace and can identify exactly where the panic originates from.
http://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/book/second-edition/ch09-01-unrecoverable-errors-with-panic.html
This is actually a very similar issue: https://github.com/librespot-org/librespot/issues/765#issue-903471985
Also, that ERA SVOA song is excellent :)