plietar / librespot

Open Source Spotify client library
MIT License
1.14k stars 184 forks source link

Crash after 3-5 Songs #177

Open Zwackelmann opened 7 years ago

Zwackelmann commented 7 years ago

I am aware of a similar recent post, but since the stack trace differs and the solution (uninstall pulseaudio) did not work for me, I opened a new issue.

I am using the latest version of the code, a fresh rust environment and I can reproduce the stack trace below when compiling on armv7 (PI3) or on my x86_64 laptop (without cross compilation).

Looking at the code, I think there might be an error in the task defined in session.rs:111 (Perhaps just some error handling missing?).

I am totally new to Rust, but I will inform you if I find a solution.


    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/librespot --name Baz --username xxx --password xxx --backend alsa --bitrate 320`
INFO:librespot: librespot d95c0b3 (2017-04-13). Built on 2017-04-23.
INFO:librespot::session: Connecting to AP "lon6-accesspoint-a3.ap.spotify.com:4070"
INFO:librespot::session: Authenticated as "xxx" !
INFO:librespot::audio_backend::alsa: Using alsa sink
INFO:librespot::player: Loading track "Civilization (Bongo, Bongo, Bongo) - Single Version"
ERROR:librespot::player: Vorbis error: InitialFileHeadersCorrupt
INFO:librespot::player: Track "Civilisation (Bongo Bongo Bongo)" loaded
INFO:librespot::player: Loading track "The Planets H125 (Op. 32) (1998 Digital Remaster): Mars, the Bringer of War"
INFO:librespot::player: Track "The Planets H125 (Op. 32) (1998 Digital Remaster): Mars, the Bringer of War" loaded
thread 'main' panicked at 'Box<Any>', src/session.rs:115
stack backtrace:
   1:     0x55836b2e59bc - std::sys::imp::backtrace::tracing::imp::write::hf33ae72d0baa11ed
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
   2:     0x55836b2ea95e - std::panicking::default_hook::{{closure}}::h59672b733cc6a455
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panicking.rs:351
   3:     0x55836b2ea564 - std::panicking::default_hook::h1670459d2f3f8843
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panicking.rs:367
   4:     0x55836b2eadfb - std::panicking::rust_panic_with_hook::hcf0ddb069e7beee7
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panicking.rs:555
   5:     0x55836a807936 - std::panicking::begin_panic::he003be6cd7878ac1
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panicking.rs:517
   6:     0x55836a9cf8d6 - librespot::session::Session::connect::{{closure}}::{{closure}}::h8b4b7850aecf78b0
                        at /home/simon/Projects/Private/librespot/src/session.rs:115
   7:     0x55836a85da30 - <core::result::Result<T, E>>::map_err::h0bdadb83f152a63a
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libcore/result.rs:494
   8:     0x55836a9a0955 - <futures::future::map_err::MapErr<A, F> as futures::future::Future>::poll::hdb3b55c8ef164837
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/future/map_err.rs:33
   9:     0x55836b0e4b61 - <alloc::boxed::Box<F> as futures::future::Future>::poll::h75a47098115c1923
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/future/mod.rs:104
  10:     0x55836b0ce85c - <futures::task_impl::Spawn<F>>::poll_future::{{closure}}::h8a036d1d2a5f7064
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/task_impl/mod.rs:311
  11:     0x55836b0cedae - <futures::task_impl::Spawn<T>>::enter::{{closure}}::hc65976fe9d0cdac7
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/task_impl/mod.rs:398
  12:     0x55836b0e6fbf - futures::task_impl::set::{{closure}}::h41256dd0de71bb00
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/task_impl/mod.rs:50
  13:     0x55836b0d0945 - <std::thread::local::LocalKey<T>>::with::h805abbd7c45c3cfa
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/thread/local.rs:253
  14:     0x55836b0e6e0a - futures::task_impl::set::h86b291b65eb41edd
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/task_impl/mod.rs:47
  15:     0x55836b0cec4c - <futures::task_impl::Spawn<T>>::enter::had2f6d26abc9b196
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/task_impl/mod.rs:398
  16:     0x55836b0ce7fa - <futures::task_impl::Spawn<F>>::poll_future::h00883d40f46cbdda
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.10/src/task_impl/mod.rs:311
  17:     0x55836b0f6a26 - tokio_core::reactor::Core::dispatch_task::{{closure}}::h4e80f0206ea9aca3
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.4/src/reactor/mod.rs:352
  18:     0x55836b0cad64 - <scoped_tls::ScopedKey<T>>::set::h2c7be2a32d85991d
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.0/src/lib.rs:135
  19:     0x55836b0f6492 - tokio_core::reactor::Core::dispatch_task::h2e51e248e767b3ca
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.4/src/reactor/mod.rs:352
  20:     0x55836b0f5925 - tokio_core::reactor::Core::dispatch::hb22d8e1dce03e744
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.4/src/reactor/mod.rs:312
  21:     0x55836b0f5489 - tokio_core::reactor::Core::poll::h4e3548a5914d9a05
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.4/src/reactor/mod.rs:300
  22:     0x55836a71896e - tokio_core::reactor::Core::run::h1e56d30c8c50c89b
                        at /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.4/src/reactor/mod.rs:237
  23:     0x55836a76db67 - librespot::main::h15ec5b194b348088
                        at /home/simon/Projects/Private/librespot/src/main.rs:311
  24:     0x55836b2f1dea - __rust_maybe_catch_panic
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libpanic_unwind/lib.rs:98
  25:     0x55836b2eb566 - std::rt::lang_start::hd7c880a37a646e81
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panicking.rs:436
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panic.rs:361
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/rt.rs:57
  26:     0x55836a76ded2 - main
  27:     0x7f21dd1592b0 - __libc_start_main
  28:     0x55836a718319 - _start
  29:                0x0 - <unknown>

Process finished with exit code 101```
joerg-krause commented 7 years ago

Maybe related to https://github.com/plietar/librespot/issues/156.

Zwackelmann commented 7 years ago

Yes thats certainly the same issue. Sorry for the duplicate.