We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
The get_prev_entry_info in the log submodule would panic sometimes in tests. See the log output for details.
get_prev_entry_info
log
0.1.0
SIGABRT [ 4.392s] xline::it cluster_test::xline_remove_node --- STDOUT: xline::it cluster_test::xline_remove_node --- running 1 test test panic! @info: panicked at /__w/Xline/Xline/crates/curp/src/server/raw_curp/log.rs:497:17: internal error: entered unreachable code: get log[2] when base_index is 0 @stackTrace: 0: __covrec_3152F8625DB7F2EF 1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/alloc/src/boxed.rs:2021:9 2: std::panicking::rust_panic_with_hook at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:735:13 3: std::panicking::begin_panic_handler::{{closure}} at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:609:13 4: std::sys_common::backtrace::__rust_end_short_backtrace at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/sys_common/backtrace.rs:170:18 5: rust_begin_unwind at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:597:5 6: core::panicking::panic_fmt at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/panicking.rs:72:14 7: <curp::server::raw_curp::log::Log<xlineapi::command::Command>>::get_prev_entry_info::{closure#0} 8: <core::option::Option<&alloc::sync::Arc<curp::log_entry::LogEntry<xlineapi::command::Command>>>>::unwrap_or_else::<<curp::server::raw_curp::log::Log<xlineapi::command::Command>>::get_prev_entry_info::{closure#0}> 9: <curp::server::raw_curp::log::Log<xlineapi::command::Command>>::get_prev_entry_info 10: __covrec_A72253ECA7F0102E 11: <curp::server::curp_node::CurpNode<xlineapi::command::Command, xline::server::command::CommandExecutor, xline::state::State<alloc::sync::Arc<dyn curp::client::ClientApi<Cmd = xlineapi::command::Command, Error = tonic::status::Status> + core::marker::Sync + core::marker::Send>>>>::sync_follower_task::{closure#0} 12: <unknown> 13: __covrec_ADFE4DD0EADE82C8 14: __covrec_8D4A3A4CCEE4F84u 15: <core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<<curp::server::curp_node::CurpNode<xlineapi::command::Command, xline::server::command::CommandExecutor, xline::state::State<alloc::sync::Arc<dyn curp::client::ClientApi<Cmd = xlineapi::command::Command, Error = tonic::status::Status> + core::marker::Sync + core::marker::Send>>>>::sync_follower_task::{closure#0}, alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::{closure#0}> as core::ops::function::FnOnce<()>>::call_once 16: std::panicking::try::do_call::<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<<curp::server::curp_node::CurpNode<xlineapi::command::Command, xline::server::command::CommandExecutor, xline::state::State<alloc::sync::Arc<dyn curp::client::ClientApi<Cmd = xlineapi::command::Command, Error = tonic::status::Status> + core::marker::Sync + core::marker::Send>>>>::sync_follower_task::{closure#0}, alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::{closure#0}>, core::task::poll::Poll<()>> 17: __covrec_AA0894A7535443FB 18: __covrec_F7D08DB9FAAECD07u 19: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<<curp::server::curp_node::CurpNode<xlineapi::command::Command, xline::server::command::CommandExecutor, xline::state::State<alloc::sync::Arc<dyn curp::client::ClientApi<Cmd = xlineapi::command::Command, Error = tonic::status::Status> + core::marker::Sync + core::marker::Send>>>>::sync_follower_task::{closure#0}, alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::{closure#0}>, core::task::poll::Poll<()>> 20: __covrec_893B96BF6B55578Fu 21: __covrec_1627240BFC6C4F95 22: __covrec_620DAB19E6B3264F 23: tokio::runtime::task::raw::poll::<<curp::server::curp_node::CurpNode<xlineapi::command::Command, xline::server::command::CommandExecutor, xline::state::State<alloc::sync::Arc<dyn curp::client::ClientApi<Cmd = xlineapi::command::Command, Error = tonic::status::Status> + core::marker::Sync + core::marker::Send>>>>::sync_follower_task::{closure#0}, alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>> 24: <tokio::runtime::task::raw::RawTask>::poll 25: <tokio::runtime::task::LocalNotified<alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>>::run 26: <tokio::runtime::scheduler::multi_thread::worker::Context>::run_task::{closure#0} 27: <tokio::runtime::scheduler::multi_thread::worker::Context>::run_task 28: <tokio::runtime::scheduler::multi_thread::worker::Context>::run 29: tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0} 30: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0}, ()> 31: tokio::runtime::context::set_scheduler::<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0}>::{closure#0} 32: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0}>::{closure#0}, ()> 33: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0}>::{closure#0}, ()> 34: tokio::runtime::context::set_scheduler::<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0}> 35: tokio::runtime::scheduler::multi_thread::worker::run::{closure#0} 36: tokio::runtime::context::runtime::enter_runtime::<tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}, ()> 37: tokio::runtime::scheduler::multi_thread::worker::run 38: <tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0} 39: <tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}> as core::future::future::Future>::poll 40: <tokio::runtime::task::core::Core<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>::poll::{closure#0} 41: <tokio::runtime::task::core::Core<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>::poll 42: tokio::runtime::task::harness::poll_future::<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>::{closure#0} 43: <core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>::{closure#0}> as core::ops::function::FnOnce<()>>::call_once 44: std::panicking::try::do_call::<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>::{closure#0}>, core::task::poll::Poll<()>> 45: __rust_try 46: std::panicking::try::<core::task::poll::Poll<()>, core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>::{closure#0}>> 47: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>::{closure#0}>, core::task::poll::Poll<()>> 48: tokio::runtime::task::harness::poll_future::<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule> 49: <tokio::runtime::task::harness::Harness<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>::poll_inner 50: <tokio::runtime::task::harness::Harness<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>::poll 51: tokio::runtime::task::raw::poll::<tokio::runtime::blocking::task::BlockingTask<<tokio::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio::runtime::blocking::schedule::BlockingSchedule> 52: <tokio::runtime::task::raw::RawTask>::poll 53: <tokio::runtime::task::UnownedTask<tokio::runtime::blocking::schedule::BlockingSchedule>>::run 54: <tokio::runtime::blocking::pool::Task>::run 55: <tokio::runtime::blocking::pool::Inner>::run 56: <tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0} 57: std::sys_common::backtrace::__rust_begin_short_backtrace::<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()> 58: <std::thread::Builder>::spawn_unchecked_::<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#1}::{closure#0} 59: <core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once 60: std::panicking::try::do_call::<core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#1}::{closure#0}>, ()> 61: __rust_try 62: std::panicking::try::<(), core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#1}::{closure#0}>> 63: <std::thread::Builder>::spawn_unchecked_::<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#1} 64: <<std::thread::Builder>::spawn_unchecked_<<tokio::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 65: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/alloc/src/boxed.rs:2007:9 66: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/alloc/src/boxed.rs:2007:9 67: std::sys::unix::thread::Thread::new::thread_start at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/sys/unix/thread.rs:108:17 68: <unknown> 69: __clone
The text was updated successfully, but these errors were encountered:
👋 Thanks for opening this issue!
Reply with the following command on its own line to get help or engage:
/contributing-agreement
/assignme
Sorry, something went wrong.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 14 days.
This issue was closed because it has been stalled for 14 days with no activity.
No branches or pull requests
Description about the bug
The
get_prev_entry_info
in thelog
submodule would panic sometimes in tests. See the log output for details.Version
0.1.0
Relevant log output
Code of Conduct
The text was updated successfully, but these errors were encountered: