librespot-org / librespot

Open Source Spotify client library
MIT License
4.52k stars 544 forks source link

Panic: `source slice length (16) does not match destination slice length (20)` #1188

Open aykevl opened 1 year ago

aykevl commented 1 year ago

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:

[beginning of log omitted]
[2023-07-19T17:38:51Z ERROR librespot_connect::spirc] connection ID update selected, but none received                                                         
[2023-07-19T17:38:51Z WARN  librespot] Spirc shut down unexpectedly                                                                                                       
[2023-07-19T17:38:51Z INFO  librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)           
[2023-07-19T17:38:51Z INFO  librespot_playback::convert] Converting with ditherer: tpdf          
[2023-07-19T17:38:51Z INFO  librespot_playback::audio_backend::rodio] Using Rodio sink with format S16 and cpal host: ALSA
[2023-07-19T17:38:51Z INFO  librespot_playback::audio_backend::rodio] Using audio device: default                                                                         
[2023-07-19T17:38:51Z INFO  librespot_core::session] Connecting to AP "ap-gew4.spotify.com:4070"                                                                          
[2023-07-19T17:38:52Z INFO  librespot_core::session] Authenticated as "0bzabjufeuoh2wmg0n912ftgw" !                                                                       
[2023-07-19T17:38:52Z INFO  librespot_core::session] Country: "NL"                                                                                                        
[2023-07-19T17:46:57Z ERROR librespot_core::session] session lost connection to server                                                                                    
[2023-07-19T17:46:57Z ERROR librespot_connect::spirc] user attributes mutation selected, but none received           
[2023-07-19T17:46:57Z WARN  librespot] Spirc shut down unexpectedly                                                                                                       
[2023-07-19T17:46:57Z INFO  librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)             
[2023-07-19T17:46:57Z INFO  librespot_playback::convert] Converting with ditherer: tpdf                                                                                   
[2023-07-19T17:46:57Z INFO  librespot_playback::audio_backend::rodio] Using Rodio sink with format S16 and cpal host: ALSA
[2023-07-19T17:46:57Z INFO  librespot_playback::audio_backend::rodio] Using audio device: default                                                                         
[2023-07-19T17:46:57Z INFO  librespot_core::session] Connecting to AP "ap-gew4.spotify.com:4070"                                                                          
[2023-07-19T17:46:57Z INFO  librespot_core::session] Authenticated as "0bzabjufeuoh2wmg0n912ftgw" !      
[2023-07-19T17:46:57Z INFO  librespot_core::session] Country: "NL"                                                                                                        
[2023-07-19T17:57:02Z ERROR librespot_core::session] session lost connection to server                                                                                    
[2023-07-19T17:57:02Z ERROR librespot_connect::spirc] user attributes update selected, but none received                      
[2023-07-19T17:57:02Z WARN  librespot] Spirc shut down unexpectedly                                                                                                       
[2023-07-19T17:57:02Z INFO  librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)                                                       
[2023-07-19T17:57:02Z INFO  librespot_playback::convert] Converting with ditherer: tpdf          
[2023-07-19T17:57:02Z INFO  librespot_playback::audio_backend::rodio] Using Rodio sink with format S16 and cpal host: ALSA
[2023-07-19T17:57:02Z INFO  librespot_playback::audio_backend::rodio] Using audio device: default  
[2023-07-19T17:57:02Z INFO  librespot_core::session] Connecting to AP "ap-gew4.spotify.com:4070"                                                                          
[2023-07-19T17:57:03Z INFO  librespot_core::session] Authenticated as "0bzabjufeuoh2wmg0n912ftgw" !
[2023-07-19T17:57:03Z INFO  librespot_core::session] Country: "NL"                                                                                                        
[2023-07-19T18:08:33Z 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)thread '', core/src/file_id.rs<unnamed>' panicked at 'source slice le
ngth (16) does not match destination slice length (20):13', core/src/file_id.rs::13                                                                                       
13stack backtrace:                                                                                                                                                        
:13                                                                                                                                                                       
thread '<unnamed>' panicked at 'source slice length (16) does not match destination slice length (20)', core/src/file_id.rs:13:13                                         
   0:       0x5587480248 - std::backtrace_rs::backtrace::libunwind::trace::hb03bf07da3096b0a                                                                              
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5                         
   1:       0x5587480248 - std::backtrace_rs::backtrace::trace_unsynchronized::hdb7a184e8aa369fa
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:       0x5587480248 - std::sys_common::backtrace::_print_fmt::h095e7a1ddd3e2196
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:65:5
   3:       0x5587480248 - <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:       0x55874a4270 - core::fmt::write::h84a4b2357213f62f
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/fmt/mod.rs:1254:17
   5:       0x558747cc60 - std::io::Write::write_fmt::h5332f707e1fe7f76
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/io/mod.rs:1698:15
   6:       0x5587480054 - std::sys_common::backtrace::_print::he25baf0f531996a8
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5
   7:       0x5587480054 - std::sys_common::backtrace::print::hed8e08110966e47b
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5                                 
   8:       0x55874817bc - std::panicking::default_hook::{{closure}}::h0fc4ddd66f9c74db          
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:269:22     
   9:       0x5587481568 - std::panicking::default_hook::ha8a1e0111166c899                                                                                                
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:288:9                                                      
  10:       0x5587481cf4 - std::panicking::rust_panic_with_hook::hc1899de1550da6fc                                                                                        
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:691:13                                                     
  11:       0x5587481be4 - std::panicking::begin_panic_handler::{{closure}}::h3a0da81bc6915d32                                                                            
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:582:13
  12:       0x5587480694 - std::sys_common::backtrace::__rust_end_short_backtrace::h9c2eb8b141eabce6                                                                      
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:150:18
  13:       0x5587481968 - rust_begin_unwind                                                                                                                              
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5      
  14:       0x5586f40134 - core::panicking::panic_fmt::h9ed84968eba0b8ba                                                                                                  
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14                                                     
  15:       0x5586f40554 - core::slice::<impl [T]>::copy_from_slice::len_mismatch_fail::hcecd6bfc62e8c6cf
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/slice/mod.rs:3341:13                                                   
  16:       0x55872610a8 - <librespot_core::file_id::FileId as core::convert::From<&librespot_protocol::metadata::VideoFile>>::from::h5457c591a8e900f4                    
  17:       0x5587185ce4 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h7eeab149ec0d3dbe
  18:       0x558717f2b8 - <librespot_metadata::episode::Episode as core::convert::TryFrom<&<librespot_metadata::episode::Episode as librespot_metadata::Metadata>::Messag
e>>::try_from::hfbf298eb812326d8                                                                                                                                          
  19:       0x55870a9cac - librespot_metadata::Metadata::get::{{closure}}::h9cfab3405b9fed3a     
  20:       0x55870a3634 - librespot_playback::player::PlayerTrackLoader::load_track::{{closure}}::hbc731375702e37e9      
  21:       0x55870a2470 - tokio::runtime::park::CachedParkThread::block_on::h3fdad82036905a26     
  22:       0x55870988cc - std::sys_common::backtrace::__rust_begin_short_backtrace::h5ea79fb162c6d852                                                                    
  23:       0x55870cdc6c - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7caaa85fa22f9e5b
  24:       0x5587485e90 - <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:       0x5587485e90 - <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:       0x5587485e90 - std::sys::unix::thread::Thread::new::thread_start::hf43c0dcba69a1a74                                                                           
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17                                               
  27:       0x7f9e03b648 - start_thread                                                                                                                                   
                               at ./nptl/./nptl/pthread_create.c:477:8                                                                                                    
  28:       0x7f9ded0c1c - thread_start                                                                                                                                   
                               at ./misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:78          
  29:                0x0 - <unknown>                                                                                                                                      
stack backtrace:                                                                     
   0:       0x5587480248 - std::backtrace_rs::backtrace::libunwind::trace::hb03bf07da3096b0a                                  
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:       0x5587480248 - std::backtrace_rs::backtrace::trace_unsynchronized::hdb7a184e8aa369fa                               
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:       0x5587480248 - std::sys_common::backtrace::_print_fmt::h095e7a1ddd3e2196                                                                                      
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:65:5
   3:       0x5587480248 - <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:       0x55874a4270 - core::fmt::write::h84a4b2357213f62f                                                                                                            
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/fmt/mod.rs:1254:17
   5:       0x558747cc60 - std::io::Write::write_fmt::h5332f707e1fe7f76                                                                                                   
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/io/mod.rs:1698:15
   6:       0x5587480054 - std::sys_common::backtrace::_print::he25baf0f531996a8                                                                                          
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5                                            
   7:       0x5587480054 - std::sys_common::backtrace::print::hed8e08110966e47b                                                                                           
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:34:9                                            
   8:       0x55874817bc - std::panicking::default_hook::{{closure}}::h0fc4ddd66f9c74db                                                                                   
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:269:22                                                     
   9:       0x5587481568 - std::panicking::default_hook::ha8a1e0111166c899                                                                                                
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:288:9                                                      
  10:       0x5587481cf4 - std::panicking::rust_panic_with_hook::hc1899de1550da6fc                                                                                        
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:691:13                                                     
  11:       0x5587481be4 - std::panicking::begin_panic_handler::{{closure}}::h3a0da81bc6915d32                            
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:582:13                                                     
  12:       0x5587480694 - std::sys_common::backtrace::__rust_end_short_backtrace::h9c2eb8b141eabce6                                                                      
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:150:18
  13:       0x5587481968 - rust_begin_unwind                                                                                                                              
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5                                                      
  14:       0x5586f40134 - core::panicking::panic_fmt::h9ed84968eba0b8ba                                                                                                  
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14                                                     
  15:       0x5586f40554 - core::slice::<impl [T]>::copy_from_slice::len_mismatch_fail::hcecd6bfc62e8c6cf                                                                 
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/slice/mod.rs:3341:13
  16:       0x55872610a8 - <librespot_core::file_id::FileId as core::convert::From<&librespot_protocol::metadata::VideoFile>>::from::h5457c591a8e900f4
  17:       0x5587185ce4 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h7eeab149ec0d3dbe
  18:       0x558717f2b8 - <librespot_metadata::episode::Episode as core::convert::TryFrom<&<librespot_metadata::episode::Episode as librespot_metadata::Metadata>::Messag
e>>::try_from::hfbf298eb812326d8                                                                                                                                          
  19:       0x55870a9cac - librespot_metadata::Metadata::get::{{closure}}::h9cfab3405b9fed3a                                                                              
  20:       0x55870a3634 - librespot_playback::player::PlayerTrackLoader::load_track::{{closure}}::hbc731375702e37e9                                                      
  21:       0x55870a2470 - tokio::runtime::park::CachedParkThread::block_on::h3fdad82036905a26                                                                            
  22:       0x55870988cc - std::sys_common::backtrace::__rust_begin_short_backtrace::h5ea79fb162c6d852                                                                    
  23:       0x55870cdc6c - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7caaa85fa22f9e5b                                                                       
  24:       0x5587485e90 - <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:       0x5587485e90 - <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:       0x5587485e90 - std::sys::unix::thread::Thread::new::thread_start::hf43c0dcba69a1a74 
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17                                               
  27:       0x7f9e03b648 - start_thread                                              
                               at ./nptl/./nptl/pthread_create.c:477:8                                                                                                    
  28:       0x7f9ded0c1c - thread_start                                                                                                                                   
                               at ./misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:78                                         
  29:                0x0 - <unknown>                                                                                                                                      
stack backtrace:                                                                                                                                                          
   [etc etc etc for a few more thousand lines]

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).

kingosticks commented 1 year ago

Please provide version information.

aykevl commented 1 year ago

Sorry I forgot, this was the dev branch at the time I made the issue.

roderickvd commented 1 year ago

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.

aykevl commented 1 year ago

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.

roderickvd commented 1 year ago

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?

aykevl commented 12 months ago

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).

thedtvn commented 3 weeks ago

same bug with this episode spotify:episode:78DE1A0rENsT7oS9qhT8o0

thedtvn commented 3 weeks ago

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