Comments (6)
Looks like you used a debug build, hence slower. I used release since wanted to benchmark against vanilla tokio.
Anyway, looks like some race condition to me.
from tokio-uring.
Takes really long to run, so couldn't replicate. I'm getting a 10x slower execution time:
tokio_uring] 40.370097994s total, 40.370097ms avg per iteration
Linux 5.11.0-7620-generic #21~1626191760~21.04~55de9c3-Ubuntu SMP Tue Jul 20 22:18:55 UTC x86_64 GNU/Linux
same speed on both stable 1.53 and rustc 1.55.0-nightly (32c9b7b09 2021-07-21)
wait got it:
> cargo run
Compiling libc v0.2.98
Compiling log v0.4.14
Compiling autocfg v1.0.1
Compiling bitflags v1.2.1
Compiling io-uring v0.5.1
Compiling tokio v1.9.0
Compiling mio v0.7.13
Compiling tokio-uring v0.1.0
Compiling issue_35 v0.1.0 (/home/jcubed/D/projects/github/tokio_uring/issue_35)
Finished dev [unoptimized + debuginfo] target(s) in 5.17s
Running `target/debug/issue_35`
thread 'main' panicked at 'already borrowed: BorrowMutError', /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:151:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'already borrowed: BorrowMutError', /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:151:37
stack backtrace:
0: 0x557f93a2bd10 - std::backtrace_rs::backtrace::libunwind::trace::h0f5cd2ee8b0d7274
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
1: 0x557f93a2bd10 - std::backtrace_rs::backtrace::trace_unsynchronized::h06905b5aeda069a1
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x557f93a2bd10 - std::sys_common::backtrace::_print_fmt::h4fe4c7c875072f30
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:67:5
3: 0x557f93a2bd10 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hcc0746f004a9b7ef
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:46:22
4: 0x557f93a4623c - core::fmt::write::h9a6d9c74526a6c1b
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/fmt/mod.rs:1115:17
5: 0x557f93a2a105 - std::io::Write::write_fmt::h23dab4cc9ce72ee2
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/io/mod.rs:1665:15
6: 0x557f93a2dbcb - std::sys_common::backtrace::_print::h173dc702502d65d2
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:49:5
7: 0x557f93a2dbcb - std::sys_common::backtrace::print::h61bd27c4742ba817
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:36:9
8: 0x557f93a2dbcb - std::panicking::default_hook::{{closure}}::hcaae87f0495ae613
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:208:50
9: 0x557f93a2d6a1 - std::panicking::default_hook::h0538e728ee080db0
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:225:9
10: 0x557f93a2e294 - std::panicking::rust_panic_with_hook::h3039e236b6ca482c
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:622:17
11: 0x557f93a2dd77 - std::panicking::begin_panic_handler::{{closure}}::h884fbab544ffd91c
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:519:13
12: 0x557f93a2c20c - std::sys_common::backtrace::__rust_end_short_backtrace::hdaf2e18ba3d91210
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:141:18
13: 0x557f93a2dcd9 - rust_begin_unwind
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:515:5
14: 0x557f9399b0c1 - core::panicking::panic_fmt::hcf5f6d96e1dd7099
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/panicking.rs:92:14
15: 0x557f9399b153 - core::result::unwrap_failed::he898b02f57993c42
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/result.rs:1599:5
16: 0x557f939bcebb - core::result::Result<T,E>::expect::h45c582c987d50ae7
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/result.rs:1241:23
17: 0x557f939bfc7f - core::cell::RefCell<T>::borrow_mut::hf5cc6f6842c0e4cc
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/cell.rs:920:9
18: 0x557f939b9a18 - <tokio_uring::driver::op::Op<T> as core::ops::drop::Drop>::drop::he1a3b2190e33a4be
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:151:25
19: 0x557f939c3e57 - core::ptr::drop_in_place<tokio_uring::driver::op::Op<tokio_uring::driver::close::Close>>::h8cabea38a88344ad
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ptr/mod.rs:192:1
20: 0x557f939b953e - tokio_uring::driver::op::Op<T>::submit_with::{{closure}}::hf1ad6837c2eef9de
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:92:9
21: 0x557f939c1ed3 - scoped_tls::ScopedKey<T>::with::hee30b8b105062fb3
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:171:13
22: 0x557f939b8688 - tokio_uring::driver::op::Op<T>::submit_with::heb7dc42ea3bf82c7
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:64:9
23: 0x557f939b965f - tokio_uring::driver::op::Op<T>::try_submit_with::hdeb7e4e4f1c56233
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/op.rs:101:13
24: 0x557f939b8423 - tokio_uring::driver::close::<impl tokio_uring::driver::op::Op<tokio_uring::driver::close::Close>>::close::h948d9d6260d298e7
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/close.rs:12:9
25: 0x557f939bdf49 - tokio_uring::driver::shared_fd::Inner::submit_close_op::hec871401e4d2f896
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/shared_fd.rs:77:24
26: 0x557f939be152 - <tokio_uring::driver::shared_fd::Inner as core::ops::drop::Drop>::drop::h697b0108d49bb4fa
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/shared_fd.rs:140:17
27: 0x557f939c39c7 - core::ptr::drop_in_place<tokio_uring::driver::shared_fd::Inner>::h9728f41bb80065d4
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ptr/mod.rs:192:1
28: 0x557f939bad43 - <alloc::rc::Rc<T> as core::ops::drop::Drop>::drop::hcde060f51870e7a0
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/alloc/src/rc.rs:1443:17
29: 0x557f939c3bfb - core::ptr::drop_in_place<alloc::rc::Rc<tokio_uring::driver::shared_fd::Inner>>::h0b18d5f3201114ff
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ptr/mod.rs:192:1
30: 0x557f939c3a7b - core::ptr::drop_in_place<tokio_uring::driver::shared_fd::SharedFd>::hcab60bc2e6e29681
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ptr/mod.rs:192:1
31: 0x557f939a9b6b - core::ptr::drop_in_place<tokio_uring::fs::file::File>::hbd9dd7accb5a56f8
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ptr/mod.rs:192:1
32: 0x557f939af312 - issue_35::compute_tokio_uring::{{closure}}::{{closure}}::{{closure}}::h385a05cc6bb307de
at /home/jcubed/D/projects/github/tokio_uring/issue_35/src/main.rs:16:13
33: 0x557f939abfc9 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hd2d0015319e1b3ad
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/future/mod.rs:80:19
34: 0x557f939b05ed - tokio::runtime::task::core::CoreStage<T>::poll::{{closure}}::h2613984e59cd650c
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/core.rs:147:17
35: 0x557f939a4e65 - tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hc8a204cb7cbc3351
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/loom/std/unsafe_cell.rs:14:9
36: 0x557f939b0497 - tokio::runtime::task::core::CoreStage<T>::poll::h0860bc47c2592d88
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/core.rs:137:13
37: 0x557f939a289a - tokio::runtime::task::harness::poll_future::{{closure}}::h9ab1276b8e2be0a6
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:437:23
38: 0x557f939a8803 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5de5426a087d876
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panic.rs:347:9
39: 0x557f939aca10 - std::panicking::try::do_call::hcc8ae6306fbad147
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:401:40
40: 0x557f939accfd - __rust_try
41: 0x557f939ac61a - std::panicking::try::h5376e3506060d3cf
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:365:19
42: 0x557f939a88fa - std::panic::catch_unwind::hbf4efd4deaa58e95
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panic.rs:434:14
43: 0x557f939a2500 - tokio::runtime::task::harness::poll_future::hc52b1723a559c7b3
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:424:19
44: 0x557f939a2a32 - tokio::runtime::task::harness::Harness<T,S>::poll_inner::h0993cfbc85123c67
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:89:9
45: 0x557f939a303b - tokio::runtime::task::harness::Harness<T,S>::poll::h2993f4c3fd03df91
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:59:15
46: 0x557f939a7f70 - tokio::runtime::task::raw::poll::h550ed78540af3a96
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/raw.rs:113:5
47: 0x557f939f09ef - tokio::runtime::task::raw::RawTask::poll::heef3246b1a99e888
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/raw.rs:70:18
48: 0x557f939e2e31 - tokio::runtime::task::Notified<S>::run::h89c5994ae044e360
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/mod.rs:166:9
49: 0x557f939cefbb - tokio::task::local::LocalSet::tick::{{closure}}::hccef9387a37606d4
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/task/local.rs:532:54
50: 0x557f939f6099 - tokio::coop::with_budget::{{closure}}::h97b1a84a6210b68e
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:106:9
51: 0x557f939dcc4f - std::thread::local::LocalKey<T>::try_with::he0491a69d9c6717d
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/thread/local.rs:399:16
52: 0x557f939db1ca - std::thread::local::LocalKey<T>::with::h11545f688b073fcf
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/thread/local.rs:375:9
53: 0x557f939cef54 - tokio::coop::with_budget::hd952e15714999025
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:99:5
54: 0x557f939cef54 - tokio::coop::budget::hebba799a4c33dbe4
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:76:5
55: 0x557f939cef54 - tokio::task::local::LocalSet::tick::h67a7c42280706ab1
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/task/local.rs:532:31
56: 0x557f939ad73a - <tokio::task::local::RunUntil<T> as core::future::future::Future>::poll::{{closure}}::h1af704e44a0cfddb
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/task/local.rs:672:16
57: 0x557f9399bc5d - tokio::macros::scoped_tls::ScopedKey<T>::set::h09f9bf94f5c837e6
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/macros/scoped_tls.rs:61:9
58: 0x557f939ad29a - tokio::task::local::LocalSet::with::h37102df92b19f4b3
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/task/local.rs:573:9
59: 0x557f939ad522 - <tokio::task::local::RunUntil<T> as core::future::future::Future>::poll::h5efca81593ad92b9
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/task/local.rs:658:9
60: 0x557f939ad452 - tokio::task::local::LocalSet::run_until::{{closure}}::hf990de494ceba0aa
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/task/local.rs:516:9
61: 0x557f939aba19 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h906bd4bcca346bac
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/future/mod.rs:80:19
62: 0x557f939a4c8f - <core::pin::Pin<P> as core::future::future::Future>::poll::h291f8f0294fac887
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/future/future.rs:119:9
63: 0x557f939a0230 - tokio::runtime::basic_scheduler::Inner<P>::block_on::{{closure}}::{{closure}}::h8390bbba22e27b9c
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:208:62
64: 0x557f939b688c - tokio::coop::with_budget::{{closure}}::h433a731ee22578bf
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:106:9
65: 0x557f939b6141 - std::thread::local::LocalKey<T>::try_with::hdd283d5197fd4428
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/thread/local.rs:399:16
66: 0x557f939b545d - std::thread::local::LocalKey<T>::with::hc3771dc25deeb913
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/thread/local.rs:375:9
67: 0x557f9399fb0c - tokio::coop::with_budget::heaa5143f9822b0c7
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:99:5
68: 0x557f9399fb0c - tokio::coop::budget::h2b35830476a50b30
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:76:5
69: 0x557f9399fb0c - tokio::runtime::basic_scheduler::Inner<P>::block_on::{{closure}}::h265be2f8037a4425
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:208:39
70: 0x557f939a0cb1 - tokio::runtime::basic_scheduler::enter::{{closure}}::h2f710f878873d055
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:299:29
71: 0x557f9399bd5d - tokio::macros::scoped_tls::ScopedKey<T>::set::hf70b9ea9b944a749
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/macros/scoped_tls.rs:61:9
72: 0x557f939a0c36 - tokio::runtime::basic_scheduler::enter::h42e4a968cb2f8a3a
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:299:5
73: 0x557f9399f7eb - tokio::runtime::basic_scheduler::Inner<P>::block_on::h6378414ba08be6b4
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:197:9
74: 0x557f939a02d4 - tokio::runtime::basic_scheduler::InnerGuard<P>::block_on::hf8c1c8ebad38505d
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:452:9
75: 0x557f939a05c2 - tokio::runtime::basic_scheduler::BasicScheduler<P>::block_on::h4eeb19383ea6cb9b
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/basic_scheduler.rs:157:24
76: 0x557f939a5218 - tokio::runtime::Runtime::block_on::h844e6f478e953b9b
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/mod.rs:450:46
77: 0x557f939b6e65 - tokio_uring::runtime::Runtime::block_on::{{closure}}::h7b620cc22602be80
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/runtime.rs:84:13
78: 0x557f939b4960 - tokio_uring::driver::Driver::with::{{closure}}::hbbea0d91e91921f4
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/mod.rs:62:37
79: 0x557f939a8243 - scoped_tls::ScopedKey<T>::set::h43336b73ce1d5aa1
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
80: 0x557f939b4933 - tokio_uring::driver::Driver::with::hb454d550e932c607
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/driver/mod.rs:62:9
81: 0x557f939b6c10 - tokio_uring::runtime::Runtime::block_on::h6fbb29cdae82fe59
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/runtime.rs:71:9
82: 0x557f939ac547 - tokio_uring::start::h6b0700e2e9ef9eae
at /home/jcubed/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-uring-0.1.0/src/lib.rs:132:5
83: 0x557f9399cd25 - issue_35::main::haff31b086db3a21b
at /home/jcubed/D/projects/github/tokio_uring/issue_35/src/main.rs:25:5
84: 0x557f939a8b3b - core::ops::function::FnOnce::call_once::hd749c4ef942209be
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ops/function.rs:227:5
85: 0x557f9399c9ee - std::sys_common::backtrace::__rust_begin_short_backtrace::ha12e96f348122c61
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/sys_common/backtrace.rs:125:18
86: 0x557f939ac451 - std::rt::lang_start::{{closure}}::h5c31d893f8b7601d
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/rt.rs:63:18
87: 0x557f93a2e89a - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h61bcc1dec5918b7e
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/core/src/ops/function.rs:259:13
88: 0x557f93a2e89a - std::panicking::try::do_call::h672d24f85ce22db4
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:401:40
89: 0x557f93a2e89a - std::panicking::try::he383e7ef11604e58
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:365:19
90: 0x557f93a2e89a - std::panic::catch_unwind::h502ac6058961e393
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panic.rs:434:14
91: 0x557f93a2e89a - std::rt::lang_start_internal::{{closure}}::h851ee37bb5d99fdf
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/rt.rs:45:48
92: 0x557f93a2e89a - std::panicking::try::do_call::h84f41bb3453bbd14
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:401:40
93: 0x557f93a2e89a - std::panicking::try::h969c45dbbf2e4c94
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panicking.rs:365:19
94: 0x557f93a2e89a - std::panic::catch_unwind::he40b1a4614f73e03
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/panic.rs:434:14
95: 0x557f93a2e89a - std::rt::lang_start_internal::h0fbab25cccdb30d8
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/rt.rs:45:20
96: 0x557f939ac420 - std::rt::lang_start::hbc5770458a010176
at /rustc/32c9b7b091534f6d80e7e85da0cd425acb6c9a79/library/std/src/rt.rs:62:5
97: 0x557f9399cd4c - main
98: 0x7efef40c1565 - __libc_start_main
99: 0x557f9399b85e - _start
100: 0x0 - <unknown>
thread panicked while panicking. aborting.
from tokio-uring.
In my platform, seems the problem is from /dev/urandom
. When I run the code, it sometimes paused forever without any panic. When I use a regular path, it works fine and was 2.x ms each iteration slower than yours, used the release build.
My toolchain and platform is:
nightly-x86_64-unknown-linux-gnu (default)
rustc 1.55.0-nightly (32c9b7b09 2021-07-21)
Linux 5.13.4-1-MANJARO #1 SMP PREEMPT Tue Jul 20 21:25:32 UTC 2021 x86_64 GNU/Linux
from tokio-uring.
On my PC the release build reading from regular text file crashes immediately with the same error, but I was not able to reproduce the crash with the debug build though.
from tokio-uring.
Thanks for the report. I will investigate.
from tokio-uring.
I think I know what is happening, but I am not sure how to reproduce reliably. I pushed a possible fix to #39, could someone give it a shot? I will try to keep trying to reproduce myself.
from tokio-uring.
Related Issues (20)
- Support for reference counted buffers
- Proposal for overhaul of buffer representation HOT 11
- multi_thread support HOT 5
- Direct IO HOT 2
- Support _msg syscalls HOT 4
- impl Clone for stream types?
- Add chunks() for BoundedBuf
- Not in a runtime context is not always true HOT 5
- Return msghdr from `recvmsg`
- DPDK support? HOT 5
- Dead or dying? HOT 9
- Support for windows IOCP (input/output completion ports) another completion-based async API HOT 1
- Is it support `splice` operation now?
- New Release? HOT 3
- tokio-uring missing similar tokio runtime builder options
- io_uring command support? HOT 3
- Support for IO_LINK feature
- Restructuring HOT 2
- __io_uring_buf_ring_cq_advance broken? HOT 1
- [BUG] Hangs when using iopoll without sqpoll HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tokio-uring.