Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Panic in statement-table #2368

Closed
pepyakin opened this issue Feb 3, 2021 · 1 comment · Fixed by #2369
Closed

Panic in statement-table #2368

pepyakin opened this issue Feb 3, 2021 · 1 comment · Fixed by #2369

Comments

@pepyakin
Copy link
Contributor

pepyakin commented Feb 3, 2021

The stack trace (note that the call stack inverted)

2021-02-03 11:16:19 | Thread 'tokio-runtime-worker' panicked at 'candidate is includable; therefore there are enough validity votes; qed', /builds/statement-table/src/generic.rs:284
-- | --
  |   | 2021-02-03 11:16:19 | 37: clone
  |   | 2021-02-03 11:16:19 | 36: start_thread
  |   | 2021-02-03 11:16:19 | at rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/sys/unix/thread.rs:71
  |   | 2021-02-03 11:16:19 | std::sys::unix::thread::Thread::new::thread_start
  |   | 2021-02-03 11:16:19 | at rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/alloc/src/boxed.rs:1307
  |   | 2021-02-03 11:16:19 | <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  |   | 2021-02-03 11:16:19 | 35: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  |   | 2021-02-03 11:16:19 | 34: core::ops::function::FnOnce::call_once{{vtable.shim}}
  |   | 2021-02-03 11:16:19 | 33: std::sys_common::backtrace::__rust_begin_short_backtrace
  |   | 2021-02-03 11:16:19 | 32: tokio::runtime::context::enter
  |   | 2021-02-03 11:16:19 | 31: tokio::runtime::blocking::pool::Inner::run
  |   | 2021-02-03 11:16:19 | 30: tokio::runtime::task::raw::poll
  |   | 2021-02-03 11:16:19 | 29: std::panicking::try
  |   | 2021-02-03 11:16:19 | 28: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  |   | 2021-02-03 11:16:19 | 27: tokio::runtime::task::core::Core<T,S>::poll
  |   | 2021-02-03 11:16:19 | 26: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
  |   | 2021-02-03 11:16:19 | 25: tokio::runtime::thread_pool::worker::run
  |   | 2021-02-03 11:16:19 | 24: tokio::macros::scoped_tls::ScopedKey<T>::set
  |   | 2021-02-03 11:16:19 | 23: tokio::runtime::thread_pool::worker::Context::run
  |   | 2021-02-03 11:16:19 | 22: tokio::runtime::thread_pool::worker::Context::run_task
  |   | 2021-02-03 11:16:19 | 21: std::thread::local::LocalKey<T>::with
  |   | 2021-02-03 11:16:19 | 20: tokio::runtime::task::harness::Harness<T,S>::poll
  |   | 2021-02-03 11:16:19 | 19: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  |   | 2021-02-03 11:16:19 | 18: tokio::runtime::task::core::Core<T,S>::poll
  |   | 2021-02-03 11:16:19 | 17: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
  |   | 2021-02-03 11:16:19 | 16: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  |   | 2021-02-03 11:16:19 | 15: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
  |   | 2021-02-03 11:16:19 | 14: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
  |   | 2021-02-03 11:16:19 | 13: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  |   | 2021-02-03 11:16:19 | 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll

Grafana links: first, second

The panic message originates from here:

"candidate is includable; therefore there are enough validity votes; qed",

@ordian
Copy link
Member

ordian commented Feb 3, 2021

I'm not familiar with that code, but shouldn't can_be_included filter ValidityVote::Invalid?
And also check for !self.indicated_bad()?

// and no authorities have called it bad.

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

Successfully merging a pull request may close this issue.

2 participants