Created
March 20, 2020 21:07
-
-
Save saghm/55f47b64c52510c3399fe671f1b8d09a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| WARNING: ThreadSanitizer: data race (pid=94179) | |
| Write of size 8 at 0x7b0800000060 by main thread: | |
| #0 free /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:706:3 (rust-scratch+0x11d58) | |
| #1 alloc::alloc::dealloc::h99b6371ef57874e8 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/alloc.rs:103:5 (rust-scratch+0x94188) | |
| #2 _$LT$alloc..alloc..Global$u20$as$u20$core..alloc..AllocRef$GT$::dealloc::he32cdae226ac0a18 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/alloc.rs:179:13 (rust-scratch+0x95105) | |
| #3 alloc::sync::Arc$LT$T$GT$::drop_slow::hea1049624e02cfe9 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:743:13 (rust-scratch+0x9916d) | |
| #4 _$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h26b5cd67741187fa /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:1249:13 (rust-scratch+0x9974e) | |
| #5 core::ptr::drop_in_place::h2b3ee6f7ae695029 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x8cefb) | |
| #6 tokio::runtime::shell::drop_waker::hb212024b6564381a /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/shell.rs:82:59 (rust-scratch+0x93537) | |
| #7 _$LT$core..task..wake..Waker$u20$as$u20$core..ops..drop..Drop$GT$::drop::h5ca67639453ff63d /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/task/wake.rs:307:18 (rust-scratch+0x902ff) | |
| #8 core::ptr::drop_in_place::hfd305e6723876811 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x8e617) | |
| #9 core::ptr::drop_in_place::heeee9aa9cf2ba521 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x8e3d0) | |
| #10 core::ptr::drop_in_place::h6ba5c6389290ced2 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x8daab) | |
| #11 core::ptr::drop_in_place::h35682a91ed2a342a /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x8d01b) | |
| #12 rust_scratch::main::hdbc89cc6309c8f66 /home/saghm/code/rust-scratch/src/main.rs:7:14 (rust-scratch+0x8a530) | |
| #13 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h34904544d1260f39 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:67:34 (rust-scratch+0x8a111) | |
| #14 std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::he55e3739ea41259e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:52:13 (rust-scratch+0xed0be) | |
| #15 std::panicking::try::do_call::h73e24f9817ae57df /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:331:40 (rust-scratch+0xed0be) | |
| #16 std::panicking::try::hd08eb281999526b6 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:274:15 (rust-scratch+0xed0be) | |
| #17 std::panic::catch_unwind::hc981e5be87497715 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:394:14 (rust-scratch+0xed0be) | |
| #18 std::rt::lang_start_internal::h0962c0aa989e5c64 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:51:25 (rust-scratch+0xed0be) | |
| #19 main <null> (rust-scratch+0x8a5ca) | |
| Previous atomic write of size 8 at 0x7b0800000060 by thread T1: | |
| #0 __tsan_atomic64_fetch_sub /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc:647:3 (rust-scratch+0x55941) | |
| #1 core::sync::atomic::atomic_sub::he92b818fb8931e77 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/sync/atomic.rs:2314:20 (rust-scratch+0xae809) | |
| #2 core::sync::atomic::AtomicUsize::fetch_sub::h65db5bf91fb2bb0d /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/sync/atomic.rs:1654:30 (rust-scratch+0xa4419) | |
| #3 _$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h26b5cd67741187fa /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:1214:12 (rust-scratch+0x9970d) | |
| #4 core::ptr::drop_in_place::h2b3ee6f7ae695029 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x8cefb) | |
| #5 tokio::runtime::shell::drop_waker::hb212024b6564381a /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/shell.rs:82:59 (rust-scratch+0x93537) | |
| #6 _$LT$core..task..wake..Waker$u20$as$u20$core..ops..drop..Drop$GT$::drop::h77928d6cd976a202 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/task/wake.rs:307:18 (rust-scratch+0xcc75f) | |
| #7 core::ptr::drop_in_place::h6b2efb7e38be8a46 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc9097) | |
| #8 core::ptr::drop_in_place::h7800e37ba22c6948 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc9302) | |
| #9 core::ptr::drop_in_place::h7260aff750e3396d /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc91ab) | |
| #10 core::ptr::drop_in_place::h015f40de88bb9302 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc827f) | |
| #11 core::ptr::drop_in_place::h8d390388066958bd /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc95eb) | |
| #12 core::ptr::drop_in_place::h89fcc77c83fbb597 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc952f) | |
| #13 alloc::sync::Arc$LT$T$GT$::drop_slow::h7f197188a718ed4e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:739:9 (rust-scratch+0xd9729) | |
| #14 _$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h4e6c0f0bb4eda99e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:1249:13 (rust-scratch+0xda84e) | |
| #15 core::ptr::drop_in_place::h4cbde1772138cbdd /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc8c2b) | |
| #16 futures_timer::native::timer::Timer::remove::h6e73f73a12f0ec99 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/timer.rs:163:5 (rust-scratch+0xb69f4) | |
| #17 _$LT$futures_timer..native..timer..Timer$u20$as$u20$core..future..future..Future$GT$::poll::h54f5085abc08d1a1 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/timer.rs:181:25 (rust-scratch+0xb702c) | |
| #18 futures_timer::native::global::run::h07df39a7dae9b9c6 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/global.rs:63:17 (rust-scratch+0xb976e) | |
| #19 futures_timer::native::global::HelperThread::new::_$u7b$$u7b$closure$u7d$$u7d$::h05f8c2b07ec730a2 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/global.rs:28:28 (rust-scratch+0xb921a) | |
| #20 std::sys_common::backtrace::__rust_begin_short_backtrace::h8e8591708c46fd21 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/sys_common/backtrace.rs:130:5 (rust-scratch+0xc7be0) | |
| #21 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h22c8640f8bfe876a /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/thread/mod.rs:475:17 (rust-scratch+0xc5644) | |
| #22 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h0b374bde16c5afce /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:318:9 (rust-scratch+0xc4594) | |
| #23 std::panicking::try::do_call::h282dedbf2ea85d21 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:331:40 (rust-scratch+0xb7e89) | |
| #24 __rust_try <null> (rust-scratch+0xb9d4b) | |
| #25 std::panicking::try::ha694bcbe7ad10ea7 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:274:15 (rust-scratch+0xb7d49) | |
| #26 std::panic::catch_unwind::h7dc96eede4c63726 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:394:14 (rust-scratch+0xc486a) | |
| #27 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::ha687518591e07ecb /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/thread/mod.rs:474:30 (rust-scratch+0xc53e6) | |
| #28 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h20b67eba1411c2a3 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ops/function.rs:232:5 (rust-scratch+0xc815b) | |
| #29 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1196c8e359cc899e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/boxed.rs:1017:9 (rust-scratch+0xe461e) | |
| Thread T1 'futures-timer' (tid=94215, running) created by main thread at: | |
| #0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (rust-scratch+0x12cab) | |
| #1 std::sys::unix::thread::Thread::new::h4eb7bc22d6ade13e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/sys/unix/thread.rs:68:19 (rust-scratch+0xee07d) | |
| #2 std::thread::Builder::spawn::hcb0ec171a5d788f8 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/thread/mod.rs:386:18 (rust-scratch+0xc56fa) | |
| #3 futures_timer::native::global::HelperThread::new::h8e6a7c792debb5cf /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/global.rs:26:22 (rust-scratch+0xb8e1c) | |
| #4 _$LT$futures_timer..native..timer..TimerHandle$u20$as$u20$core..default..Default$GT$::default::hc8aa0c4f949cecb7 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/timer.rs:281:32 (rust-scratch+0xb756e) | |
| #5 futures_timer::native::delay::Delay::new::hbe1479342e222ced /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/delay.rs:37:49 (rust-scratch+0x82791) | |
| #6 rust_scratch::main::_$u7b$$u7b$closure$u7d$$u7d$::h1db66191c2f2da6d /home/saghm/code/rust-scratch/src/main.rs:9:19 (rust-scratch+0x81c26) | |
| #7 _$LT$std..future..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h050bd0d655c93b53 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/future.rs:44:15 (rust-scratch+0x8c2b9) | |
| #8 tokio::runtime::shell::Shell::block_on::h743d533da7701fbf /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/shell.rs:49:31 (rust-scratch+0x85eca) | |
| #9 tokio::runtime::Runtime::block_on::_$u7b$$u7b$closure$u7d$$u7d$::hb2c135c2e0978b5a /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/mod.rs:411:34 (rust-scratch+0x8bd07) | |
| #10 tokio::runtime::context::enter::hfa9d53417b4bce09 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/context.rs:72:5 (rust-scratch+0x8a219) | |
| #11 tokio::runtime::handle::Handle::enter::ha6cb21f5196f2629 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/handle.rs:34:9 (rust-scratch+0x889f2) | |
| #12 tokio::runtime::Runtime::block_on::h58569e9f46220f70 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/mod.rs:410:9 (rust-scratch+0x8bc52) | |
| #13 rust_scratch::main::hdbc89cc6309c8f66 /home/saghm/code/rust-scratch/src/main.rs:7:1 (rust-scratch+0x8a520) | |
| #14 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h34904544d1260f39 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:67:34 (rust-scratch+0x8a111) | |
| #15 std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::he55e3739ea41259e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:52:13 (rust-scratch+0xed0be) | |
| #16 std::panicking::try::do_call::h73e24f9817ae57df /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:331:40 (rust-scratch+0xed0be) | |
| #17 std::panicking::try::hd08eb281999526b6 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:274:15 (rust-scratch+0xed0be) | |
| #18 std::panic::catch_unwind::hc981e5be87497715 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:394:14 (rust-scratch+0xed0be) | |
| #19 std::rt::lang_start_internal::h0962c0aa989e5c64 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:51:25 (rust-scratch+0xed0be) | |
| #20 main <null> (rust-scratch+0x8a5ca) | |
| SUMMARY: ThreadSanitizer: data race /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/alloc.rs:103:5 in alloc::alloc::dealloc::h99b6371ef57874e8 | |
| ================== | |
| ================== | |
| WARNING: ThreadSanitizer: data race (pid=94179) | |
| Write of size 8 at 0x7b2400000000 by thread T1: | |
| #0 free /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:706:3 (rust-scratch+0x11d58) | |
| #1 alloc::alloc::dealloc::hdfe9c926a2c97292 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/alloc.rs:103:5 (rust-scratch+0xcf3f8) | |
| #2 _$LT$alloc..alloc..Global$u20$as$u20$core..alloc..AllocRef$GT$::dealloc::h66734b70812b1a80 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/alloc.rs:179:13 (rust-scratch+0xd09d5) | |
| #3 alloc::sync::Arc$LT$T$GT$::drop_slow::h7f197188a718ed4e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:743:13 (rust-scratch+0xd97fd) | |
| #4 _$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h4e6c0f0bb4eda99e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:1249:13 (rust-scratch+0xda84e) | |
| #5 core::ptr::drop_in_place::h4cbde1772138cbdd /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc8c2b) | |
| #6 futures_timer::native::timer::Timer::remove::h6e73f73a12f0ec99 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/timer.rs:163:5 (rust-scratch+0xb69f4) | |
| #7 _$LT$futures_timer..native..timer..Timer$u20$as$u20$core..future..future..Future$GT$::poll::h54f5085abc08d1a1 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/timer.rs:181:25 (rust-scratch+0xb702c) | |
| #8 futures_timer::native::global::run::h07df39a7dae9b9c6 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/global.rs:63:17 (rust-scratch+0xb976e) | |
| #9 futures_timer::native::global::HelperThread::new::_$u7b$$u7b$closure$u7d$$u7d$::h05f8c2b07ec730a2 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/global.rs:28:28 (rust-scratch+0xb921a) | |
| #10 std::sys_common::backtrace::__rust_begin_short_backtrace::h8e8591708c46fd21 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/sys_common/backtrace.rs:130:5 (rust-scratch+0xc7be0) | |
| #11 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h22c8640f8bfe876a /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/thread/mod.rs:475:17 (rust-scratch+0xc5644) | |
| #12 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h0b374bde16c5afce /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:318:9 (rust-scratch+0xc4594) | |
| #13 std::panicking::try::do_call::h282dedbf2ea85d21 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:331:40 (rust-scratch+0xb7e89) | |
| #14 __rust_try <null> (rust-scratch+0xb9d4b) | |
| #15 std::panicking::try::ha694bcbe7ad10ea7 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:274:15 (rust-scratch+0xb7d49) | |
| #16 std::panic::catch_unwind::h7dc96eede4c63726 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:394:14 (rust-scratch+0xc486a) | |
| #17 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::ha687518591e07ecb /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/thread/mod.rs:474:30 (rust-scratch+0xc53e6) | |
| #18 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h20b67eba1411c2a3 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ops/function.rs:232:5 (rust-scratch+0xc815b) | |
| #19 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1196c8e359cc899e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/boxed.rs:1017:9 (rust-scratch+0xe461e) | |
| Previous atomic write of size 8 at 0x7b2400000000 by main thread: | |
| #0 __tsan_atomic64_fetch_sub /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc:647:3 (rust-scratch+0x55941) | |
| #1 core::sync::atomic::atomic_sub::h615ea18f0983c82c /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/sync/atomic.rs:2314:20 (rust-scratch+0xd3109) | |
| #2 core::sync::atomic::AtomicUsize::fetch_sub::h076e2f3cd0076fc9 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/sync/atomic.rs:1654:30 (rust-scratch+0xd3959) | |
| #3 _$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h4e6c0f0bb4eda99e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/sync.rs:1214:12 (rust-scratch+0xda80d) | |
| #4 core::ptr::drop_in_place::h4cbde1772138cbdd /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc8c2b) | |
| #5 core::ptr::drop_in_place::h86ff50707fccf11b /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0xc94db) | |
| #6 core::ptr::drop_in_place::hd1fc51fa5a02fcb9 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x85032) | |
| #7 core::ptr::drop_in_place::hc65b1b631e46b795 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x84f2b) | |
| #8 core::ptr::drop_in_place::h8cffda62d11314c1 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/ptr/mod.rs:177:1 (rust-scratch+0x84bf4) | |
| #9 rust_scratch::main::_$u7b$$u7b$closure$u7d$$u7d$::h1db66191c2f2da6d /home/saghm/code/rust-scratch/src/main.rs:17:6 (rust-scratch+0x8214b) | |
| #10 _$LT$std..future..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h050bd0d655c93b53 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/future.rs:44:15 (rust-scratch+0x8c2b9) | |
| #11 tokio::runtime::shell::Shell::block_on::h743d533da7701fbf /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/shell.rs:49:31 (rust-scratch+0x85eca) | |
| #12 tokio::runtime::Runtime::block_on::_$u7b$$u7b$closure$u7d$$u7d$::hb2c135c2e0978b5a /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/mod.rs:411:34 (rust-scratch+0x8bd07) | |
| #13 tokio::runtime::context::enter::hfa9d53417b4bce09 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/context.rs:72:5 (rust-scratch+0x8a219) | |
| #14 tokio::runtime::handle::Handle::enter::ha6cb21f5196f2629 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/handle.rs:34:9 (rust-scratch+0x889f2) | |
| #15 tokio::runtime::Runtime::block_on::h58569e9f46220f70 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/mod.rs:410:9 (rust-scratch+0x8bc52) | |
| #16 rust_scratch::main::hdbc89cc6309c8f66 /home/saghm/code/rust-scratch/src/main.rs:7:1 (rust-scratch+0x8a520) | |
| #17 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h34904544d1260f39 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:67:34 (rust-scratch+0x8a111) | |
| #18 std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::he55e3739ea41259e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:52:13 (rust-scratch+0xed0be) | |
| #19 std::panicking::try::do_call::h73e24f9817ae57df /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:331:40 (rust-scratch+0xed0be) | |
| #20 std::panicking::try::hd08eb281999526b6 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:274:15 (rust-scratch+0xed0be) | |
| #21 std::panic::catch_unwind::hc981e5be87497715 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:394:14 (rust-scratch+0xed0be) | |
| #22 std::rt::lang_start_internal::h0962c0aa989e5c64 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:51:25 (rust-scratch+0xed0be) | |
| #23 main <null> (rust-scratch+0x8a5ca) | |
| Thread T1 'futures-timer' (tid=94215, running) created by main thread at: | |
| #0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (rust-scratch+0x12cab) | |
| #1 std::sys::unix::thread::Thread::new::h4eb7bc22d6ade13e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/sys/unix/thread.rs:68:19 (rust-scratch+0xee07d) | |
| #2 std::thread::Builder::spawn::hcb0ec171a5d788f8 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/thread/mod.rs:386:18 (rust-scratch+0xc56fa) | |
| #3 futures_timer::native::global::HelperThread::new::h8e6a7c792debb5cf /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/global.rs:26:22 (rust-scratch+0xb8e1c) | |
| #4 _$LT$futures_timer..native..timer..TimerHandle$u20$as$u20$core..default..Default$GT$::default::hc8aa0c4f949cecb7 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/timer.rs:281:32 (rust-scratch+0xb756e) | |
| #5 futures_timer::native::delay::Delay::new::hbe1479342e222ced /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/delay.rs:37:49 (rust-scratch+0x82791) | |
| #6 rust_scratch::main::_$u7b$$u7b$closure$u7d$$u7d$::h1db66191c2f2da6d /home/saghm/code/rust-scratch/src/main.rs:9:19 (rust-scratch+0x81c26) | |
| #7 _$LT$std..future..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h050bd0d655c93b53 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/future.rs:44:15 (rust-scratch+0x8c2b9) | |
| #8 tokio::runtime::shell::Shell::block_on::h743d533da7701fbf /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/shell.rs:49:31 (rust-scratch+0x85eca) | |
| #9 tokio::runtime::Runtime::block_on::_$u7b$$u7b$closure$u7d$$u7d$::hb2c135c2e0978b5a /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/mod.rs:411:34 (rust-scratch+0x8bd07) | |
| #10 tokio::runtime::context::enter::hfa9d53417b4bce09 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/context.rs:72:5 (rust-scratch+0x8a219) | |
| #11 tokio::runtime::handle::Handle::enter::ha6cb21f5196f2629 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/handle.rs:34:9 (rust-scratch+0x889f2) | |
| #12 tokio::runtime::Runtime::block_on::h58569e9f46220f70 /home/saghm/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/runtime/mod.rs:410:9 (rust-scratch+0x8bc52) | |
| #13 rust_scratch::main::hdbc89cc6309c8f66 /home/saghm/code/rust-scratch/src/main.rs:7:1 (rust-scratch+0x8a520) | |
| #14 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h34904544d1260f39 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:67:34 (rust-scratch+0x8a111) | |
| #15 std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::he55e3739ea41259e /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:52:13 (rust-scratch+0xed0be) | |
| #16 std::panicking::try::do_call::h73e24f9817ae57df /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:331:40 (rust-scratch+0xed0be) | |
| #17 std::panicking::try::hd08eb281999526b6 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panicking.rs:274:15 (rust-scratch+0xed0be) | |
| #18 std::panic::catch_unwind::hc981e5be87497715 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/panic.rs:394:14 (rust-scratch+0xed0be) | |
| #19 std::rt::lang_start_internal::h0962c0aa989e5c64 /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libstd/rt.rs:51:25 (rust-scratch+0xed0be) | |
| #20 main <null> (rust-scratch+0x8a5ca) | |
| SUMMARY: ThreadSanitizer: data race /rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/liballoc/alloc.rs:103:5 in alloc::alloc::dealloc::hdfe9c926a2c97292 | |
| ================== | |
| ThreadSanitizer: reported 2 warnings |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use std::time::Duration; | |
| use futures::future::Either; | |
| use futures_timer::Delay; | |
| use tokio::sync::watch; | |
| #[tokio::main] | |
| async fn main() { | |
| let timeout = Delay::new(Duration::from_millis(250)); | |
| let (_sender, mut receiver) = watch::channel(()); | |
| let message_received = Box::pin(receiver.recv()); | |
| match futures::future::select(timeout, message_received).await { | |
| Either::Left(..) => println!("timeout"), | |
| Either::Right(..) => println!("message received"), | |
| }; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment