Open aykevl opened 1 year ago
Please provide version information.
Sorry I forgot, this was the dev branch at the time I made the issue.
It sometimes happens that the packet isn’t received fully. I thought I had made that piece of the code panic-free but I guess I missed something.
Got a new stack trace:
~/src/spotify/librespot$ ./target/release/librespot -n " Librespot Elstar" -b 160 -u 'XXX' -B pulseaudio
[2023-07-24T16:19:03Z INFO librespot] librespot 0.5.0-dev f037e46 (Built on 2023-07-24, Build ID: 33dRwJQW, Profile: release)
Password for XXX:
[2023-07-24T16:19:06Z WARN librespot] Could not initialise discovery: Attempt to create entity that already exists { Address already in use (os error 98) }
[2023-07-24T16:19:06Z INFO librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)
[2023-07-24T16:19:06Z INFO librespot_playback::convert] Converting with ditherer: tpdf
[2023-07-24T16:19:06Z INFO librespot_playback::audio_backend::pulseaudio] Using PulseAudioSink with format: S16
[2023-07-24T16:19:06Z INFO librespot_core::session] Connecting to AP "ap-gew4.spotify.com:4070"
[2023-07-24T16:19:06Z INFO librespot_core::session] Authenticated as "0bzabjufeuoh2wmg0n912ftgw" !
[2023-07-24T16:19:06Z INFO librespot_core::session] Country: "NL"
[2023-07-24T16:56:07Z INFO librespot_core::spclient] Resolved "gew4-spclient.spotify.com:443" as spclient access point
thread '<unnamed>' panicked at 'source slice length (16) does not match destination slice length (20)', core/src/file_id.rs:13:13
stack backtrace:
0: 0xaaaacf49db14 - std::backtrace_rs::backtrace::libunwind::trace::hb03bf07da3096b0a
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0xaaaacf49db14 - std::backtrace_rs::backtrace::trace_unsynchronized::hdb7a184e8aa369fa
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0xaaaacf49db14 - std::sys_common::backtrace::_print_fmt::h095e7a1ddd3e2196
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:65:5
3: 0xaaaacf49db14 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h687989fbc4e49c23
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:44:22
4: 0xaaaacf4c1b3c - core::fmt::write::h84a4b2357213f62f
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/fmt/mod.rs:1254:17
5: 0xaaaacf49a52c - std::io::Write::write_fmt::h5332f707e1fe7f76
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/io/mod.rs:1698:15
6: 0xaaaacf49d920 - std::sys_common::backtrace::_print::he25baf0f531996a8
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5
7: 0xaaaacf49d920 - std::sys_common::backtrace::print::hed8e08110966e47b
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:34:9
8: 0xaaaacf49f088 - std::panicking::default_hook::{{closure}}::h0fc4ddd66f9c74db
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:269:22
9: 0xaaaacf49ee34 - std::panicking::default_hook::ha8a1e0111166c899
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:288:9
10: 0xaaaacf49f5c0 - std::panicking::rust_panic_with_hook::hc1899de1550da6fc
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:691:13
11: 0xaaaacf49f4b0 - std::panicking::begin_panic_handler::{{closure}}::h3a0da81bc6915d32
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:582:13
12: 0xaaaacf49df60 - std::sys_common::backtrace::__rust_end_short_backtrace::h9c2eb8b141eabce6
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:150:18
13: 0xaaaacf49f234 - rust_begin_unwind
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5
14: 0xaaaacef5ff04 - core::panicking::panic_fmt::h9ed84968eba0b8ba
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14
15: 0xaaaacef60324 - core::slice::<impl [T]>::copy_from_slice::len_mismatch_fail::hcecd6bfc62e8c6cf
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/slice/mod.rs:3341:13
16: 0xaaaacf27efec - <librespot_core::file_id::FileId as core::convert::From<&librespot_protocol::metadata::VideoFile>>::from::h5457c591a8e900f4
17: 0xaaaacf1a4c2c - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h7eeab149ec0d3dbe
18: 0xaaaacf19e200 - <librespot_metadata::episode::Episode as core::convert::TryFrom<&<librespot_metadata::episode::Episode as librespot_metadata::Metadata>::Message>>::try_from::hfbf298eb812326d8
19: 0xaaaacf0c89d8 - librespot_metadata::Metadata::get::{{closure}}::h9cfab3405b9fed3a
20: 0xaaaacf0c21a4 - librespot_playback::player::PlayerTrackLoader::load_track::{{closure}}::hbc731375702e37e9
21: 0xaaaacf0c1028 - tokio::runtime::park::CachedParkThread::block_on::h3fdad82036905a26
22: 0xaaaacf0b7484 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5ea79fb162c6d852
23: 0xaaaacf0db674 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7caaa85fa22f9e5b
24: 0xaaaacf4a375c - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6e1de9633f47ca0d
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
25: 0xaaaacf4a375c - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0e150fd07881867
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
26: 0xaaaacf4a375c - std::sys::unix::thread::Thread::new::thread_start::hf43c0dcba69a1a74
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
27: 0xffff16e80aec - <unknown>
28: 0xffff16eea5dc - <unknown>
29: 0x0 - <unknown>
[2023-07-24T16:56:07Z ERROR librespot_playback::player] Skipping to next track, unable to load track <SpotifyId("spotify:episode:5ygEM6ANjHlJvg2SFYQzcR")>: ()
thread '<unnamed>' panicked at 'source slice length (16) does not match destination slice length (20)', core/src/file_id.rs:13:13
stack backtrace:
0: 0xaaaacf49db14 - std::backtrace_rs::backtrace::libunwind::trace::hb03bf07da3096b0a
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0xaaaacf49db14 - std::backtrace_rs::backtrace::trace_unsynchronized::hdb7a184e8aa369fa
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0xaaaacf49db14 - std::sys_common::backtrace::_print_fmt::h095e7a1ddd3e2196
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:65:5
3: 0xaaaacf49db14 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h687989fbc4e49c23
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:44:22
4: 0xaaaacf4c1b3c - core::fmt::write::h84a4b2357213f62f
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/fmt/mod.rs:1254:17
5: 0xaaaacf49a52c - std::io::Write::write_fmt::h5332f707e1fe7f76
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/io/mod.rs:1698:15
6: 0xaaaacf49d920 - std::sys_common::backtrace::_print::he25baf0f531996a8
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5
7: 0xaaaacf49d920 - std::sys_common::backtrace::print::hed8e08110966e47b
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:34:9
8: 0xaaaacf49f088 - std::panicking::default_hook::{{closure}}::h0fc4ddd66f9c74db
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:269:22
9: 0xaaaacf49ee34 - std::panicking::default_hook::ha8a1e0111166c899
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:288:9
10: 0xaaaacf49f5c0 - std::panicking::rust_panic_with_hook::hc1899de1550da6fc
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:691:13
11: 0xaaaacf49f4b0 - std::panicking::begin_panic_handler::{{closure}}::h3a0da81bc6915d32
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:582:13
12: 0xaaaacf49df60 - std::sys_common::backtrace::__rust_end_short_backtrace::h9c2eb8b141eabce6
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:150:18
13: 0xaaaacf49f234 - rust_begin_unwind
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5
14: 0xaaaacef5ff04 - core::panicking::panic_fmt::h9ed84968eba0b8ba
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14
15: 0xaaaacef60324 - core::slice::<impl [T]>::copy_from_slice::len_mismatch_fail::hcecd6bfc62e8c6cf
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/slice/mod.rs:3341:13
16: 0xaaaacf27efec - <librespot_core::file_id::FileId as core::convert::From<&librespot_protocol::metadata::VideoFile>>::from::h5457c591a8e900f4
17: 0xaaaacf1a4c2c - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h7eeab149ec0d3dbe
18: 0xaaaacf19e200 - <librespot_metadata::episode::Episode as core::convert::TryFrom<&<librespot_metadata::episode::Episode as librespot_metadata::Metadata>::Message>>::try_from::hfbf298eb812326d8
19: 0xaaaacf0c89d8 - librespot_metadata::Metadata::get::{{closure}}::h9cfab3405b9fed3a
20: 0xaaaacf0c21a4 - librespot_playback::player::PlayerTrackLoader::load_track::{{closure}}::hbc731375702e37e9
21: 0xaaaacf0c1028 - tokio::runtime::park::CachedParkThread::block_on::h3fdad82036905a26
22: 0xaaaacf0b7484 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5ea79fb162c6d852
23: 0xaaaacf0db674 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7caaa85fa22f9e5b
24: 0xaaaacf4a375c - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6e1de9633f47ca0d
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
25: 0xaaaacf4a375c - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0e150fd07881867
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
26: 0xaaaacf4a375c - std::sys::unix::thread::Thread::new::thread_start::hf43c0dcba69a1a74
at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
27: 0xffff16e80aec - <unknown>
28: 0xffff16eea5dc - <unknown>
29: 0x0 - <unknown>
[2023-07-24T16:56:15Z INFO librespot_playback::player] Loading <Incubator> with Spotify URI <spotify:track:3gQT4n0MjQKGSINRVHilAJ>
[2023-07-24T16:56:15Z INFO librespot_connect::spirc] Resolved 50 tracks from <"spotify:playlist:1jcvQbeXvwtPrN3YHEOB5N">
[2023-07-24T16:56:15Z INFO librespot_playback::player] <Incubator> (480047 ms) loaded
As the stack trace says, this is librespot f037e46. I will try to get a stacktrace with debugging information next.
Other than that it would be nice to make it panic-free, I see at the beginning of the log that it fails to bind, that the address is already in use?
Other than that it would be nice to make it panic-free, I see at the beginning of the log that it fails to bind, that the address is already in use?
I'm not sure why that is. Maybe I was running another librespot instance at the same time, or maybe it's because I have a WireGuard network interface too that librespot doesn't seem to like very much.
(I have now switched to libespot-java because that's the only thing that will work correctly on my network, feel free to close this if there is nothing important to fix).
same bug with this episode spotify:episode:78DE1A0rENsT7oS9qhT8o0
Other than that it would be nice to make it panic-free, I see at the beginning of the log that it fails to bind, that the address is already in use?
I'm not sure why that is. Maybe I was running another librespot instance at the same time, or maybe it's because I have a WireGuard network interface too that librespot doesn't seem to like very much.
(I have now switched to libespot-java because that's the only thing that will work correctly on my network, feel free to close this if there is nothing important to fix).
ye it works with Java not Rust for some reason
Describe the bug After running for a while, librespot crashes with a huge stacktrace.
To reproduce I don't know, I think I just left it running for a few hours. Note that my internet connection is weird (see https://github.com/Spotifyd/spotifyd/issues/1211) so that might have something to do with it. I am hopeful though that the stack trace provides enough clues as to why it crashes.
I'll provide additional information if it happens again.
Log No full log, but here is the stack trace:
Host (what you are running
librespot
on):Additional context Weirdly, librespot just continued running after what looks like a fatal error to me. From the log it appears that I was trying to start playing some music (which didn't last long due to https://github.com/Spotifyd/spotifyd/issues/1211).