The application panicked (crashed). Message: called `Result::unwrap()` on an `Err` value: SystemTimeError(2.449ms) Location: tokio-console/src/state/async_ops.rs:214 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⋮ 13 frames hidden ⋮ 14: core::result::Result::unwrap::hedb8dd33efdee8bc at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/result.rs:1299 15: tokio_console::state::async_ops::AsyncOpsState::retain_active::{{closure}}::{{closure}}::h39168c19f8859227 at /Users/tk/repos/console/tokio-console/src/state/async_ops.rs:214 212 │ .dropped_at 213 │ .map(|d| { 214 > let dropped_for = now.duration_since(d).unwrap(); 215 │ retain_for > dropped_for 216 │ }) 16: core::option::Option::map::hb7dd5d45d2606609 at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/option.rs:836 17: tokio_console::state::async_ops::AsyncOpsState::retain_active::{{closure}}::hefadca3622fa3560 at /Users/tk/repos/console/tokio-console/src/state/async_ops.rs:210 208 │ let async_op = async_op.borrow(); 209 │ 210 > async_op 211 │ .stats 212 │ .dropped_at 18: hashbrown::map::HashMap::retain::hde8a902dc35d10c1 at /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.0/src/map.rs:713 19: std::collections::hash::map::HashMap::retain::he902403b17dde32a at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/collections/hash/map.rs:956 20: tokio_console::state::async_ops::AsyncOpsState::retain_active::h10505282f53c930d at /Users/tk/repos/console/tokio-console/src/state/async_ops.rs:207 205 │ 206 │ pub(crate) fn retain_active(&mut self, now: SystemTime, retain_for: Duration) { 207 > self.async_ops.retain(|_, async_op| { 208 │ let async_op = async_op.borrow(); 209 │ 21: tokio_console::state::State::retain_active::h7c1900d9d59f6e37 at /Users/tk/repos/console/tokio-console/src/state/mod.rs:183 181 │ self.tasks_state.retain_active(now, retain_for); 182 │ self.resources_state.retain_active(now, retain_for); 183 > self.async_ops_state.retain_active(now, retain_for); 184 │ } 185 │ 22: tokio_console::view::View::render::h5f038e52207975e3 at /Users/tk/repos/console/tokio-console/src/view/mod.rs:196 194 │ } 195 │ 196 > state.retain_active(); 197 │ } 198 │ 23: tokio_console::main::{{closure}}::{{closure}}::he7269c76663658ba at /Users/tk/repos/console/tokio-console/src/main.rs:142 140 │ f.render_widget(header, chunks[0]); 141 │ f.render_widget(view_controls, chunks[1]); 142 > view.render(f, chunks[2], &mut state); 143 │ })?; 144 │ } 24: tui::terminal::Terminal::draw::hb5cd71db2f405845 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tui-0.16.0/src/terminal.rs:267 265 │ 266 │ let mut frame = self.get_frame(); 267 > f(&mut frame); 268 │ // We can't change the cursor position right away because we have to flush the frame to 269 │ // stdout first. But we also can't keep the frame around, since it holds a &mut to 25: tokio_console::main::{{closure}}::h01e8d7a569ba681a at /Users/tk/repos/console/tokio-console/src/main.rs:110 108 │ }, 109 │ } 110 > terminal.draw(|f| { 111 │ let chunks = Layout::default() 112 │ .direction(Direction::Vertical) 26: as core::future::future::Future>::poll::hacee0ddd664d96a2 at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/future/mod.rs:80 27: as core::future::future::Future>::poll::h8f94d3a3400d2d98 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.29/src/instrument.rs:272 270 │ let this = self.project(); 271 │ let _enter = this.span.enter(); 272 > this.inner.poll(cx) 273 │ } 274 │ } 28: tokio::park::thread::CachedParkThread::block_on::{{closure}}::hecbab0171a40bb62 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/park/thread.rs:263 261 │ 262 │ loop { 263 > if let Ready(v) = crate::coop::budget(|| f.as_mut().poll(&mut cx)) { 264 │ return Ok(v); 265 │ } 29: tokio::coop::with_budget::{{closure}}::h02623f3d0d032bc7 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/coop.rs:102 100 │ let _guard = ResetGuard { cell, prev }; 101 │ 102 > f() 103 │ }) 104 │ } 30: std::thread::local::LocalKey::try_with::h21cc80b79558bd43 at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/thread/local.rs:399 31: std::thread::local::LocalKey::with::h18dc6b8567f94625 at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/thread/local.rs:375 32: tokio::coop::with_budget::h1c254fff6a8c1686 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/coop.rs:95 93 │ } 94 │ 95 > CURRENT.with(move |cell| { 96 │ let prev = cell.get(); 97 │ 33: tokio::coop::budget::h0a4291a0c235bf11 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/coop.rs:72 70 │ #[inline(always)] 71 │ pub(crate) fn budget(f: impl FnOnce() -> R) -> R { 72 > with_budget(Budget::initial(), f) 73 │ } 74 │ 34: tokio::park::thread::CachedParkThread::block_on::h007dc7e1f1b5f75f at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/park/thread.rs:263 261 │ 262 │ loop { 263 > if let Ready(v) = crate::coop::budget(|| f.as_mut().poll(&mut cx)) { 264 │ return Ok(v); 265 │ } 35: tokio::runtime::enter::Enter::block_on::h2cd802e278ce4df7 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/enter.rs:151 149 │ 150 │ let mut park = CachedParkThread::new(); 151 > park.block_on(f) 152 │ } 153 │ 36: tokio::runtime::thread_pool::ThreadPool::block_on::h36cf9f4a85e93fe8 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/mod.rs:77 75 │ { 76 │ let mut enter = crate::runtime::enter(true); 77 > enter.block_on(future).expect("failed to park thread") 78 │ } 79 │ } 37: tokio::runtime::Runtime::block_on::h537792bc1d06b922 at /Users/tk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/mod.rs:463 461 │ Kind::CurrentThread(exec) => exec.block_on(future), 462 │ #[cfg(feature = "rt-multi-thread")] 463 > Kind::ThreadPool(exec) => exec.block_on(future), 464 │ } 465 │ } 38: tokio_console::main::hf96f20a5035e28cf at /Users/tk/repos/console/tokio-console/src/main.rs:59 57 │ let mut view = view::View::new(styles); 58 │ 59 > loop { 60 │ tokio::select! { biased; 61 │ input = input.next() => { 39: core::ops::function::FnOnce::call_once::h82b37434b4ba5081 at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227 ⋮ 13 frames hidden ⋮ Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.