timeout-tracing 0.1.2

Returns stack and span trace when the future hits a timeout
Documentation
---
source: src/tests/futures_select.rs
expression: err
---
timeout elapsed at:
trace 0:
span trace:
   0: timeout_tracing::tests::futures_select::do_sleep_a
             at src/tests/futures_select.rs:[NNN]
   1: timeout_tracing::tests::futures_select::do_sleep
             at src/tests/futures_select.rs:[NNN]
stack trace:
   0: timeout_tracing::trace::StackAndSpanTrace::capture
             at ./src/trace.rs:[NNN]:[NNN]
   1: <timeout_tracing::trace::CaptureSpanAndStackTrace as timeout_tracing::trace::CaptureTrace>::capture
             at ./src/trace.rs:[NNN]:[NNN]
   2: timeout_tracing::waker::TracingTimeoutWaker<C>::clone
             at ./src/waker.rs:[NNN]:[NNN]
   3: timeout_tracing::waker::TracingTimeoutWaker<C>::raw_clone
             at ./src/waker.rs:[NNN]:[NNN]
   4: <core::task::wake::Waker as core::clone::Clone>::clone
   5: <&core::task::wake::Waker as tokio::sync::task::atomic_waker::WakerRef>::into_waker
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   6: tokio::sync::task::atomic_waker::AtomicWaker::do_register::{{closure}}
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   7: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
   8: std::panicking::try::do_call
   9: __rust_try
  10: std::panicking::try
  11: std::panic::catch_unwind
  12: tokio::sync::task::atomic_waker::AtomicWaker::do_register::catch_unwind
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  13: tokio::sync::task::atomic_waker::AtomicWaker::do_register
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  14: tokio::sync::task::atomic_waker::AtomicWaker::register_by_ref
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  15: tokio::runtime::time::entry::StateCell::poll
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  16: tokio::runtime::time::entry::TimerEntry::poll_elapsed
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  17: tokio::time::sleep::Sleep::poll_elapsed
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  18: <tokio::time::sleep::Sleep as core::future::future::Future>::poll
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  19: timeout_tracing::tests::futures_select::do_sleep_a::{{closure}}::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  20: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  21: timeout_tracing::tests::futures_select::do_sleep_a::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  22: <futures_util::future::future::fuse::Fuse<Fut> as core::future::future::Future>::poll
             at [crates]/futures-util-[ver]/src/future/future/fuse.rs:[NNN]:[NNN]
  23: <core::pin::Pin<P> as core::future::future::Future>::poll
  24: futures_util::future::future::FutureExt::poll_unpin
             at [crates]/futures-util-[ver]/src/future/future/mod.rs:[NNN]:[NNN]
  25: timeout_tracing::tests::futures_select::do_sleep::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at [crates]/futures-util-[ver]/src/async_await/select_mod.rs:[NNN]:[NNN]
  26: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  27: timeout_tracing::tests::futures_select::do_sleep::{{closure}}::{{closure}}::{{closure}}
             at [crates]/futures-util-[ver]/src/async_await/select_mod.rs:[NNN]:[NNN]
  28: <futures_util::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
             at [crates]/futures-util-[ver]/src/future/poll_fn.rs:[NNN]:[NNN]
  29: timeout_tracing::tests::futures_select::do_sleep::{{closure}}::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  30: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  31: timeout_tracing::tests::futures_select::do_sleep::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  32: <timeout_tracing::TimeoutFuture<C,Fut> as core::future::future::Future>::poll
             at ./src/lib.rs:[NNN]:[NNN]
  33: timeout_tracing::tests::run_with_tracing::{{closure}}
             at ./src/tests/mod.rs:[NNN]:[NNN]
  34: timeout_tracing::tests::futures_select::with_join::{{closure}}::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  35: <core::pin::Pin<P> as core::future::future::Future>::poll
  36: <core::pin::Pin<P> as core::future::future::Future>::poll
  37: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  38: tokio::task::coop::with_budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  39: tokio::task::coop::budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  40: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  41: tokio::runtime::scheduler::current_thread::Context::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  42: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  43: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  44: tokio::runtime::context::scoped::Scoped<T>::set
             at [crates]/tokio-[ver]/src/runtime/context/scoped.rs:[NNN]:[NNN]
  45: tokio::runtime::context::set_scheduler::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  46: std::thread::local::LocalKey<T>::try_with
  47: std::thread::local::LocalKey<T>::with
  48: tokio::runtime::context::set_scheduler
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  49: tokio::runtime::scheduler::current_thread::CoreGuard::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  50: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  51: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  52: tokio::runtime::context::runtime::enter_runtime
             at [crates]/tokio-[ver]/src/runtime/context/runtime.rs:[NNN]:[NNN]
  53: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  54: tokio::runtime::runtime::Runtime::block_on_inner
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  55: tokio::runtime::runtime::Runtime::block_on
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  56: timeout_tracing::tests::futures_select::with_join::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  57: core::ops::function::FnOnce::call_once
  58: serial_test::serial_code_lock::local_serial_core
             at [crates]/serial_test-[ver]/src/serial_code_lock.rs:[NNN]:[NNN]
  59: timeout_tracing::tests::futures_select::with_join
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  60: timeout_tracing::tests::futures_select::with_join::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  61: core::ops::function::FnOnce::call_once
  62: core::ops::function::FnOnce::call_once
  63: test::__rust_begin_short_backtrace
  64: test::run_test_in_process::{{closure}}
  65: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  66: std::panicking::try::do_call
  67: std::panicking::try
  68: std::panic::catch_unwind
  69: test::run_test_in_process
  70: test::run_test::{{closure}}
  71: test::run_test::{{closure}}
  72: std::sys::backtrace::__rust_begin_short_backtrace
  73: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
  74: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  75: std::panicking::try::do_call
  76: std::panicking::try
  77: std::panic::catch_unwind
  78: std::thread::Builder::spawn_unchecked_::{{closure}}
  79: core::ops::function::FnOnce::call_once{{vtable.shim}}
  80: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  81: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  82: std::sys::pal::unix::thread::Thread::new::thread_start
  83: <unknown>
  84: <unknown>

trace 1:
span trace:
   0: timeout_tracing::tests::futures_select::do_sleep_b
             at src/tests/futures_select.rs:[NNN]
   1: timeout_tracing::tests::futures_select::do_sleep
             at src/tests/futures_select.rs:[NNN]
stack trace:
   0: timeout_tracing::trace::StackAndSpanTrace::capture
             at ./src/trace.rs:[NNN]:[NNN]
   1: <timeout_tracing::trace::CaptureSpanAndStackTrace as timeout_tracing::trace::CaptureTrace>::capture
             at ./src/trace.rs:[NNN]:[NNN]
   2: timeout_tracing::waker::TracingTimeoutWaker<C>::clone
             at ./src/waker.rs:[NNN]:[NNN]
   3: timeout_tracing::waker::TracingTimeoutWaker<C>::raw_clone
             at ./src/waker.rs:[NNN]:[NNN]
   4: <core::task::wake::Waker as core::clone::Clone>::clone
   5: <&core::task::wake::Waker as tokio::sync::task::atomic_waker::WakerRef>::into_waker
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   6: tokio::sync::task::atomic_waker::AtomicWaker::do_register::{{closure}}
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   7: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
   8: std::panicking::try::do_call
   9: __rust_try
  10: std::panicking::try
  11: std::panic::catch_unwind
  12: tokio::sync::task::atomic_waker::AtomicWaker::do_register::catch_unwind
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  13: tokio::sync::task::atomic_waker::AtomicWaker::do_register
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  14: tokio::sync::task::atomic_waker::AtomicWaker::register_by_ref
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  15: tokio::runtime::time::entry::StateCell::poll
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  16: tokio::runtime::time::entry::TimerEntry::poll_elapsed
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  17: tokio::time::sleep::Sleep::poll_elapsed
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  18: <tokio::time::sleep::Sleep as core::future::future::Future>::poll
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  19: timeout_tracing::tests::futures_select::do_sleep_b::{{closure}}::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  20: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  21: timeout_tracing::tests::futures_select::do_sleep_b::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  22: <futures_util::future::future::fuse::Fuse<Fut> as core::future::future::Future>::poll
             at [crates]/futures-util-[ver]/src/future/future/fuse.rs:[NNN]:[NNN]
  23: <core::pin::Pin<P> as core::future::future::Future>::poll
  24: futures_util::future::future::FutureExt::poll_unpin
             at [crates]/futures-util-[ver]/src/future/future/mod.rs:[NNN]:[NNN]
  25: timeout_tracing::tests::futures_select::do_sleep::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at [crates]/futures-util-[ver]/src/async_await/select_mod.rs:[NNN]:[NNN]
  26: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  27: timeout_tracing::tests::futures_select::do_sleep::{{closure}}::{{closure}}::{{closure}}
             at [crates]/futures-util-[ver]/src/async_await/select_mod.rs:[NNN]:[NNN]
  28: <futures_util::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
             at [crates]/futures-util-[ver]/src/future/poll_fn.rs:[NNN]:[NNN]
  29: timeout_tracing::tests::futures_select::do_sleep::{{closure}}::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  30: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  31: timeout_tracing::tests::futures_select::do_sleep::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  32: <timeout_tracing::TimeoutFuture<C,Fut> as core::future::future::Future>::poll
             at ./src/lib.rs:[NNN]:[NNN]
  33: timeout_tracing::tests::run_with_tracing::{{closure}}
             at ./src/tests/mod.rs:[NNN]:[NNN]
  34: timeout_tracing::tests::futures_select::with_join::{{closure}}::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  35: <core::pin::Pin<P> as core::future::future::Future>::poll
  36: <core::pin::Pin<P> as core::future::future::Future>::poll
  37: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  38: tokio::task::coop::with_budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  39: tokio::task::coop::budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  40: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  41: tokio::runtime::scheduler::current_thread::Context::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  42: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  43: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  44: tokio::runtime::context::scoped::Scoped<T>::set
             at [crates]/tokio-[ver]/src/runtime/context/scoped.rs:[NNN]:[NNN]
  45: tokio::runtime::context::set_scheduler::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  46: std::thread::local::LocalKey<T>::try_with
  47: std::thread::local::LocalKey<T>::with
  48: tokio::runtime::context::set_scheduler
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  49: tokio::runtime::scheduler::current_thread::CoreGuard::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  50: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  51: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  52: tokio::runtime::context::runtime::enter_runtime
             at [crates]/tokio-[ver]/src/runtime/context/runtime.rs:[NNN]:[NNN]
  53: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  54: tokio::runtime::runtime::Runtime::block_on_inner
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  55: tokio::runtime::runtime::Runtime::block_on
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  56: timeout_tracing::tests::futures_select::with_join::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  57: core::ops::function::FnOnce::call_once
  58: serial_test::serial_code_lock::local_serial_core
             at [crates]/serial_test-[ver]/src/serial_code_lock.rs:[NNN]:[NNN]
  59: timeout_tracing::tests::futures_select::with_join
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  60: timeout_tracing::tests::futures_select::with_join::{{closure}}
             at ./src/tests/futures_select.rs:[NNN]:[NNN]
  61: core::ops::function::FnOnce::call_once
  62: core::ops::function::FnOnce::call_once
  63: test::__rust_begin_short_backtrace
  64: test::run_test_in_process::{{closure}}
  65: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  66: std::panicking::try::do_call
  67: std::panicking::try
  68: std::panic::catch_unwind
  69: test::run_test_in_process
  70: test::run_test::{{closure}}
  71: test::run_test::{{closure}}
  72: std::sys::backtrace::__rust_begin_short_backtrace
  73: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
  74: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  75: std::panicking::try::do_call
  76: std::panicking::try
  77: std::panic::catch_unwind
  78: std::thread::Builder::spawn_unchecked_::{{closure}}
  79: core::ops::function::FnOnce::call_once{{vtable.shim}}
  80: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  81: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  82: std::sys::pal::unix::thread::Thread::new::thread_start
  83: <unknown>
  84: <unknown>