spotifyd icon indicating copy to clipboard operation
spotifyd copied to clipboard

Occasional crashes in 0.3.3

Open pandasauce opened this issue 3 years ago • 3 comments

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

pandasauce avatar Jan 17 '22 09:01 pandasauce

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:

  1. git clone [email protected]:Spotifyd/spotifyd.git; git checkout v0.3.3
  2. RUST_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

Freyert avatar Jan 22 '22 14:01 Freyert

This is actually a very similar issue: https://github.com/librespot-org/librespot/issues/765#issue-903471985

Freyert avatar Jan 22 '22 14:01 Freyert

Also, that ERA SVOA song is excellent :)

Freyert avatar Jan 22 '22 14:01 Freyert