Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panic on xwin download #35

Closed
p--b opened this issue Feb 28, 2022 · 2 comments · Fixed by #36
Closed

Panic on xwin download #35

p--b opened this issue Feb 28, 2022 · 2 comments · Fixed by #36

Comments

@p--b
Copy link

p--b commented Feb 28, 2022

When executing xwin download, the application panics. As indicated by the stack trace this seems to be related to the printing of the progress bars, as doing xwin download > /dev/null seems to resolve the problem.

$ uname -a
Linux tritium 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
$ xwin --version
xwin 0.1.9

USAGE:
[snip]
$ RUST_BACKTRACE=1 xwin download
Do you accept the license at https://go.microsoft.com/fwlink/?LinkId=2086102 (yes | no)?
yes
license accepted!
  Manifest [0s] ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 11.52 MiB/11.52 MiB 📥 downloaded   [0s] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 3.26 MiB/3.26 MiB downloaded
⠒  [11s] ███████████████████████████████████████████████████████████▃                                                                                                                                                12.27 MiB/41.90 MiB 📥 downloading..
⠲  [11s] ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▆                                                                12.52 MiB/18.18 MiB 📥 downloading..
⠓  [11s] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▄       10.32 MiB/10.65 MiB 📥 downloading..
⠁  [11s] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▁                       12.02 MiB/13.54 MiB 📥 downloading..
⠲  [11s] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                                        12.73 MiB/17.46 MiB 📥 downloading..
⠐  [11s] ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                      12.98 MiB/14.47 MiB 📥 downloading..
⠂  [11s] ██████████████████████████████████████████████████████████████████████████▁                                                                                                                                 25.17 MiB/68.82 MiB 📥 downloading..thread '<unnamed>' panicked at 'supplied instant is later than self', library/std/src/time.rs:311:48
stack backtrace:
   0: rust_begin_unwind
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:495:5
   1: core::panicking::panic_fmt
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/panicking.rs:107:14
   2: core::panicking::panic_display
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/panicking.rs:64:5
   3: core::option::expect_failed
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/option.rs:1638:5
   4: core::option::Option<T>::expect
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/option.rs:709:21
   5: std::time::Instant::duration_since
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/time.rs:311:9
   6: <std::time::Instant as core::ops::arith::Sub>::sub
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/time.rs:436:9
   7: indicatif::draw_target::ProgressDrawTarget::drawable
   8: indicatif::multi::MultiState::draw
   9: indicatif::draw_target::Drawable::draw
  10: indicatif::state::BarState::draw
  11: indicatif::state::BarState::inc
  12: indicatif::progress_bar::ProgressBar::inc
  13: std::io::copy::stack_buffer_copy
  14: xwin::ctx::Ctx::get_and_validate
  15: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
  16: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
  17: <rayon::iter::fold::FoldFolder<C,ID,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  18: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  19: rayon::iter::plumbing::bridge_producer_consumer::helper
  20: <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
  21: <rayon::iter::while_some::WhileSome<I> as rayon::iter::ParallelIterator>::drive_unindexed
  22: rayon::iter::collect::<impl rayon::iter::ParallelExtend<T> for alloc::vec::Vec<T>>::par_extend
  23: rayon::result::<impl rayon::iter::FromParallelIterator<core::result::Result<T,E>> for core::result::Result<C,E>>::from_par_iter
  24: xwin::download::download
  25: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
  26: rayon::iter::plumbing::Folder::consume_iter
  27: rayon::iter::plumbing::bridge_producer_consumer::helper
  28: rayon_core::registry::in_worker
  29: rayon::iter::plumbing::bridge_producer_consumer::helper
  30: std::panicking::try
  31: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  32: rayon_core::registry::WorkerThread::wait_until_cold
  33: rayon_core::registry::ThreadBuilder::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'thread 'thread '<unnamed><unnamed><unnamed>' panicked at '' panicked at '' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }called `Result::unwrap()` on an `Err` value: PoisonError { .. }called `Result::unwrap()` on an `Err` value: PoisonError { .. }', ', ', /home/pb/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.17.0-rc.5/src/draw_target.rs/home/pb/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.17.0-rc.5/src/draw_target.rs/home/pb/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.17.0-rc.5/src/draw_target.rs::112:112:112::656565


stack backtrace:
   0: rust_begin_unwind
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:495:5
   1: core::panicking::panic_fmt
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/panicking.rs:107:14
   2: core::result::unwrap_failed
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/result.rs:1617:5
   3: indicatif::draw_target::ProgressDrawTarget::width
 thread ' <unnamed> ' panicked at '4called `Result::unwrap()` on an `Err` value: PoisonError { .. }: ', indicatif/home/pb/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.17.0-rc.5/src/draw_target.rs:::state112:::BarState65::
draw
   5: indicatif::state::BarState::inc
   6: indicatif::progress_bar::ProgressBar::inc
   7: std::io::copy::stack_buffer_copy
   8: xwin::ctx::Ctx::get_and_validate
   9: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
  10: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
  11: <rayon::iter::fold::FoldFolder<C,ID,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  12: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  13: rayon::iter::plumbing::bridge_producer_consumer::helper
  14: rayon_core::job::StackJob<L,F,R>::run_inline
  15: rayon_core::registry::in_worker
  16: rayon::iter::plumbing::bridge_producer_consumer::helper
  17: rayon_core::job::StackJob<L,F,R>::run_inline
  18: rayon_core::registry::in_worker
  19: rayon::iter::plumbing::bridge_producer_consumer::helper
  20: <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
  21: <rayon::iter::while_some::WhileSome<I> as rayon::iter::ParallelIterator>::drive_unindexed
  22: rayon::iter::collect::<impl rayon::iter::ParallelExtend<T> for alloc::vec::Vec<T>>::par_extend
  23: rayon::result::<impl rayon::iter::FromParallelIterator<core::result::Result<T,E>> for core::result::Result<C,E>>::from_par_iter
  24: xwin::download::download
  25: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
  26: rayon::iter::plumbing::Folder::consume_iter
  27: rayon::iter::plumbing::bridge_producer_consumer::helper
  28: std::panicking::try
  29: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  30: rayon_core::registry::WorkerThread::wait_until_cold
  31: rayon_core::registry::ThreadBuilder::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: rust_begin_unwind
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:495:5
   1: core::panicking::panic_fmt
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/panicking.rs:107:14
   2: core::result::unwrap_failed
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/result.rs:1617:5
   3: indicatif::draw_target::ProgressDrawTarget::width
   4: indicatif::state::BarState::draw
  thread ' <unnamed>5' panicked at ': called `Result::unwrap()` on an `Err` value: PoisonError { .. }indicatif', ::/home/pb/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.17.0-rc.5/src/draw_target.rsstate:::112BarState:::65inc

   6: indicatif::progress_bar::ProgressBar::inc
   7: std::io::copy::stack_buffer_copy
   8: xwin::ctx::Ctx::get_and_validate
   9: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
  10: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
  11: <rayon::iter::fold::FoldFolder<C,ID,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  12: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  13: rayon::iter::plumbing::bridge_producer_consumer::helper
  14: rayon_core::job::StackJob<L,F,R>::run_inline
  15: rayon_core::registry::in_worker
  16: rayon::iter::plumbing::bridge_producer_consumer::helper
  17: rayon_core::registry::in_worker
  18: rayon::iter::plumbing::bridge_producer_consumer::helper
  19: rayon_core::job::StackJob<L,F,R>::run_inline
  20: rayon_core::registry::in_worker
  21: rayon::iter::plumbing::bridge_producer_consumer::helper
  22: <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
  23: <rayon::iter::while_some::WhileSome<I> as rayon::iter::ParallelIterator>::drive_unindexed
  24: rayon::iter::collect::<impl rayon::iter::ParallelExtend<T> for alloc::vec::Vec<T>>::par_extend
  25: rayon::result::<impl rayon::iter::FromParallelIterator<core::result::Result<T,E>> for core::result::Result<C,E>>::from_par_iter
  26: xwin::download::download
  27: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
  28: rayon::iter::plumbing::Folder::consume_iter
  29: rayon::iter::plumbing::bridge_producer_consumer::helper
  30: rayon_core::registry::in_worker
  31: rayon::iter::plumbing::bridge_producer_consumer::helper
  32: std::panicking::try
  33: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  34: rayon_core::registry::WorkerThread::wait_until_cold
  35: rayon_core::registry::ThreadBuilder::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: rust_begin_unwind
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:495:5
   1: core::panicking::panic_fmt
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/panicking.rs:107:14
   2: core::result::unwrap_failed
             at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/result.rs:1617:5
   3: indicatif::draw_target::ProgressDrawTarget::width
   4: indicatif::state::BarState::draw
   5: indicatif::state::BarState::inc
   6: indicatif::progress_bar::ProgressBar::inc
   7: std::io::copy::stack_buffer_copy
   8: xwin::ctx::Ctx::get_and_validate
   9: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
  10: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
  11: <rayon::iter::fold::FoldFolder<C,ID,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  12: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  13: rayon::iter::plumbing::bridge_producer_consumer::helper
  14: rayon_core::job::StackJob<L,F,R>::run_inline
  15: rayon_core::registry::in_worker
  16: rayon::iter::plumbing::bridge_producer_consumer::helper
  17: rayon_core::registry::in_worker
  18: rayon::iter::plumbing::bridge_producer_consumer::helper
  19: <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
  20: <rayon::iter::while_some::WhileSome<I> as rayon::iter::ParallelIterator>::drive_unindexed
  21: rayon::iter::collect::<impl rayon::iter::ParallelExtend<T> for alloc::vec::Vec<T>>::par_extend
  22: rayon::result::<impl rayon::iter::FromParallelIterator<core::result::Result<T,E>> for core::result::Result<C,E>>::from_par_iter
  23: xwin::download::download
  24: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
  25: rayon::iter::plumbing::Folder::consume_iter
  26: rayon::iter::plumbing::bridge_producer_consumer::helper
  27: rayon_core::registry::in_worker
  28: rayon::iter::plumbing::bridge_producer_consumer::helper
  29: rayon_core::registry::in_worker
  30: rayon::iter::plumbing::bridge_producer_consumer::helper
  31: std::panicking::try
  32: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  33: rayon_core::registry::WorkerThread::wait_until_cold
  34: rayon_core::registry::ThreadBuilder::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0:     0x55931b51055c - std::backtrace_rs::backtrace::libunwind::trace::hc6c3491277866fea
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x55931b51055c - std::backtrace_rs::backtrace::trace_unsynchronized::h4524f073368a5b13
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55931b51055c - std::sys_common::backtrace::_print_fmt::h0d0cace6159902af
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55931b51055c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3e6af6f05919a7fc
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x55931b534ebc - core::fmt::write::h72801a82c94e6ff1
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/fmt/mod.rs:1163:17
   5:     0x55931b509835 - std::io::Write::write_fmt::ha4f5d34aaccbac84
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/io/mod.rs:1696:15
   6:     0x55931b512330 - std::sys_common::backtrace::_print::heed69f5ce9a8e189
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x55931b512330 - std::sys_common::backtrace::print::h5f3918bd80c09252
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x55931b512330 - std::panicking::default_hook::{{closure}}::h5af30648530eb3d0
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:210:50
   9:     0x55931b511edb - std::panicking::default_hook::he88d5fb1ba1b4c19
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:227:9
  10:     0x55931b5129e4 - std::panicking::rust_panic_with_hook::h01febc308b2b313b
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:602:17
  11:     0x55931b5124c0 - std::panicking::begin_panic_handler::{{closure}}::h24a6d13f5560b71f
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:499:13
  12:     0x55931b510a04 - std::sys_common::backtrace::__rust_end_short_backtrace::h3e2917f0da9fbc5c
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/sys_common/backtrace.rs:139:18
  13:     0x55931b512429 - rust_begin_unwind
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/panicking.rs:495:5
  14:     0x55931b0f8141 - core::panicking::panic_fmt::h7b8580d81fcbbacd
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/panicking.rs:107:14
  15:     0x55931b0f8233 - core::result::unwrap_failed::h885d3f7beb571353
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/core/src/result.rs:1617:5
  16:     0x55931b4638b6 - indicatif::draw_target::ProgressDrawTarget::width::he07ed5e4c5da6d67
  17:     0x55931b46b401 - indicatif::state::BarState::draw::h1e9df6ed5ce36431
  18:     0x55931b46ad0a - indicatif::state::BarState::finish_using_style::hca76e05b01938acf
  19:     0x55931b46b76e - <indicatif::state::BarState as core::ops::drop::Drop>::drop::h62cbcdadc060c84c
  20:     0x55931b1336bd - core::ptr::drop_in_place<core::cell::UnsafeCell<indicatif::state::BarState>>::hd7017fd7062061cf
  21:     0x55931b134812 - alloc::sync::Arc<T>::drop_slow::h5f49d123e63163cd
  22:     0x55931b181cb9 - core::ptr::drop_in_place<xwin::WorkItem>::he7eef3b15fa6820a
  23:     0x55931b18101b - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::h771ab4a814c7a355
  24:     0x55931b1a13d2 - rayon::iter::plumbing::Folder::consume_iter::h8292e70508411c6a
  25:     0x55931b1584bd - rayon::iter::plumbing::bridge_producer_consumer::helper::hfab6c09c5b373053
  26:     0x55931b16e614 - rayon_core::registry::in_worker::h88d06e25adcc6b36
  27:     0x55931b1585f9 - rayon::iter::plumbing::bridge_producer_consumer::helper::hfab6c09c5b373053
  28:     0x55931b130e92 - std::panicking::try::h0e635cbd1f44e2cf
  29:     0x55931b1a7db1 - <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute::hee7342ec3bd56e04
  30:     0x55931b0ebee1 - rayon_core::registry::WorkerThread::wait_until_cold::h6675ffd310fe01d0
  31:     0x55931b3c97f3 - rayon_core::registry::ThreadBuilder::run::h6d34f9fb0e14b198
  32:     0x55931b3cb861 - std::sys_common::backtrace::__rust_begin_short_backtrace::h13d8c317eccff66a
  33:     0x55931b3cd4fb - core::ops::function::FnOnce::call_once{{vtable.shim}}::h48557bc39203906b
  34:     0x55931b517633 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd81bd86213781012
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/alloc/src/boxed.rs:1691:9
  35:     0x55931b517633 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7b3e346f5d8f6d6a
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/alloc/src/boxed.rs:1691:9
  36:     0x55931b517633 - std::sys::unix::thread::Thread::new::thread_start::ha575792f17151d60
                               at /rustc/91b931926fd49fc97d1e39f2b8206abf1d77ce7d/library/std/src/sys/unix/thread.rs:106:17
  37:     0x7fa0ccd29ea7 - start_thread
                               at ./nptl/./nptl/pthread_create.c:477:8
  38:     0x7fa0ccb0fdef - clone
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
  39:                0x0 - <unknown>
thread panicked while panicking. aborting.
Illegal instruction
@messense
Copy link
Contributor

It was fixed in console-rs/indicatif#387 , cargo install xwin without --locked should fix this now.

@p--b
Copy link
Author

p--b commented Feb 28, 2022

thx, confirmed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants