Created
November 9, 2017 13:13
-
-
Save pftbest/183d7850a3f4535b7e5f9343929f46ad to your computer and use it in GitHub Desktop.
This file contains 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
[user@ws-073 lockfree]$ RUSTFLAGS="-Z sanitizer=thread" cargo run --target x86_64-unknown-linux-gnu --release | |
Compiling lockfree v0.1.0 (file:///home/user/Downloads/lockfree) | |
Finished release [optimized] target(s) in 2.69 secs | |
Running `target/x86_64-unknown-linux-gnu/release/lockfree` | |
Hello, world! | |
================== | |
WARNING: ThreadSanitizer: data race (pid=19847) | |
Read of size 1 at 0x556297041018 by thread T2: | |
#0 _$LT$heapless..ring_buffer..spsc..Consumer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::dequeue::h31f23327099559ac <null> (lockfree+0xcb7b) | |
#1 std::sys_common::backtrace::__rust_begin_short_backtrace::hff50da7ea01f1850 <null> (lockfree+0xa6b7) | |
#2 std::sys_common::backtrace::__rust_begin_short_backtrace::hff50da7ea01f1850 <null> (lockfree+0xa6b7) | |
#3 std::panicking::try::do_call::h56790b654781af52 <null> (lockfree+0xaaa6) | |
#4 std::panicking::try::do_call::h56790b654781af52 <null> (lockfree+0xaaa6) | |
#5 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#6 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#7 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#8 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::hf716baaec4a6eabe <null> (lockfree+0xbf15) | |
#9 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::hf716baaec4a6eabe <null> (lockfree+0xbf15) | |
#10 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#11 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#12 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
#13 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#14 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#15 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
Previous write of size 1 at 0x556297041018 by thread T1: | |
#0 _$LT$heapless..ring_buffer..spsc..Producer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::enqueue::h1adcd5277987b439 <null> (lockfree+0xcc38) | |
#1 std::sys_common::backtrace::__rust_begin_short_backtrace::h94ed105ef75cc323 <null> (lockfree+0xa52a) | |
#2 std::sys_common::backtrace::__rust_begin_short_backtrace::h94ed105ef75cc323 <null> (lockfree+0xa52a) | |
#3 std::panicking::try::do_call::h5cbcc8d6fc6290b0 <null> (lockfree+0xab16) | |
#4 std::panicking::try::do_call::h5cbcc8d6fc6290b0 <null> (lockfree+0xab16) | |
#5 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#6 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#7 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#8 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h8ae92956ef597113 <null> (lockfree+0xbde5) | |
#9 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h8ae92956ef597113 <null> (lockfree+0xbde5) | |
#10 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#11 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#12 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
#13 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#14 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#15 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
Location is global 'lockfree::main::V::h3be219fefc285df4' of size 528 at 0x556297041008 (lockfree+0x0000002ed018) | |
Thread T2 (tid=19875, running) created by main thread at: | |
#0 pthread_create /checkout/src/libcompiler_builtins/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (lockfree+0x5b8e3) | |
#1 std::sys::imp::thread::Thread::new::he0d818daba42f8e3 /checkout/src/libstd/sys/unix/thread.rs:78 (lockfree+0x19fcf) | |
#2 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#3 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#4 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#5 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#6 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#7 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#8 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#9 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#10 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#11 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#12 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#13 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#14 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#15 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#16 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#17 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#18 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#19 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#20 __libc_start_main <null> (libc.so.6+0x20f69) | |
Thread T1 (tid=19874, running) created by main thread at: | |
#0 pthread_create /checkout/src/libcompiler_builtins/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (lockfree+0x5b8e3) | |
#1 std::sys::imp::thread::Thread::new::he0d818daba42f8e3 /checkout/src/libstd/sys/unix/thread.rs:78 (lockfree+0x19fcf) | |
#2 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#3 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#4 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#5 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#6 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#7 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#8 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#9 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#10 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#11 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#12 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#13 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#14 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#15 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#16 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#17 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#18 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#19 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#20 __libc_start_main <null> (libc.so.6+0x20f69) | |
SUMMARY: ThreadSanitizer: data race (/home/user/Downloads/lockfree/target/x86_64-unknown-linux-gnu/release/lockfree+0xcb7b) in _$LT$heapless..ring_buffer..spsc..Consumer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::dequeue::h31f23327099559ac | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=19847) | |
Read of size 1 at 0x556297041020 by thread T2: | |
#0 _$LT$heapless..ring_buffer..spsc..Consumer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::dequeue::h31f23327099559ac <null> (lockfree+0xcb7b) | |
#1 std::sys_common::backtrace::__rust_begin_short_backtrace::hff50da7ea01f1850 <null> (lockfree+0xa6b7) | |
#2 std::sys_common::backtrace::__rust_begin_short_backtrace::hff50da7ea01f1850 <null> (lockfree+0xa6b7) | |
#3 std::panicking::try::do_call::h56790b654781af52 <null> (lockfree+0xaaa6) | |
#4 std::panicking::try::do_call::h56790b654781af52 <null> (lockfree+0xaaa6) | |
#5 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#6 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#7 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#8 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::hf716baaec4a6eabe <null> (lockfree+0xbf15) | |
#9 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::hf716baaec4a6eabe <null> (lockfree+0xbf15) | |
#10 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#11 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#12 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
#13 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#14 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#15 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
Previous write of size 1 at 0x556297041020 by thread T1: | |
[failed to restore the stack] | |
Location is global 'lockfree::main::V::h3be219fefc285df4' of size 528 at 0x556297041008 (lockfree+0x0000002ed020) | |
Thread T2 (tid=19875, running) created by main thread at: | |
#0 pthread_create /checkout/src/libcompiler_builtins/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (lockfree+0x5b8e3) | |
#1 std::sys::imp::thread::Thread::new::he0d818daba42f8e3 /checkout/src/libstd/sys/unix/thread.rs:78 (lockfree+0x19fcf) | |
#2 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#3 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#4 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#5 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#6 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#7 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#8 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#9 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#10 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#11 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#12 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#13 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#14 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#15 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#16 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#17 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#18 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#19 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#20 __libc_start_main <null> (libc.so.6+0x20f69) | |
Thread T1 (tid=19874, running) created by main thread at: | |
#0 pthread_create /checkout/src/libcompiler_builtins/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (lockfree+0x5b8e3) | |
#1 std::sys::imp::thread::Thread::new::he0d818daba42f8e3 /checkout/src/libstd/sys/unix/thread.rs:78 (lockfree+0x19fcf) | |
#2 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#3 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#4 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#5 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#6 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#7 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#8 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#9 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#10 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#11 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#12 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#13 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#14 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#15 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#16 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#17 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#18 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#19 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#20 __libc_start_main <null> (libc.so.6+0x20f69) | |
SUMMARY: ThreadSanitizer: data race (/home/user/Downloads/lockfree/target/x86_64-unknown-linux-gnu/release/lockfree+0xcb7b) in _$LT$heapless..ring_buffer..spsc..Consumer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::dequeue::h31f23327099559ac | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=19847) | |
Write of size 1 at 0x5562970410c3 by thread T1: | |
#0 _$LT$heapless..ring_buffer..spsc..Producer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::enqueue::h1adcd5277987b439 <null> (lockfree+0xcc38) | |
#1 std::sys_common::backtrace::__rust_begin_short_backtrace::h94ed105ef75cc323 <null> (lockfree+0xa52a) | |
#2 std::sys_common::backtrace::__rust_begin_short_backtrace::h94ed105ef75cc323 <null> (lockfree+0xa52a) | |
#3 std::panicking::try::do_call::h5cbcc8d6fc6290b0 <null> (lockfree+0xab16) | |
#4 std::panicking::try::do_call::h5cbcc8d6fc6290b0 <null> (lockfree+0xab16) | |
#5 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#6 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#7 __rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1bfbe) | |
#8 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h8ae92956ef597113 <null> (lockfree+0xbde5) | |
#9 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h8ae92956ef597113 <null> (lockfree+0xbde5) | |
#10 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#11 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#12 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
#13 alloc::boxed::{{impl}}::call_once<(),()> /checkout/src/liballoc/boxed.rs:772 (lockfree+0x1a3c7) | |
#14 std::sys_common::thread::start_thread /checkout/src/libstd/sys_common/thread.rs:24 (lockfree+0x1a3c7) | |
#15 std::sys::imp::thread::Thread::new::thread_start::h6ff8049a36b4f672 /checkout/src/libstd/sys/unix/thread.rs:90 (lockfree+0x1a3c7) | |
Previous read of size 1 at 0x5562970410c3 by thread T2: | |
[failed to restore the stack] | |
Location is global 'lockfree::main::V::h3be219fefc285df4' of size 528 at 0x556297041008 (lockfree+0x0000002ed0c3) | |
Thread T1 (tid=19874, running) created by main thread at: | |
#0 pthread_create /checkout/src/libcompiler_builtins/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (lockfree+0x5b8e3) | |
#1 std::sys::imp::thread::Thread::new::he0d818daba42f8e3 /checkout/src/libstd/sys/unix/thread.rs:78 (lockfree+0x19fcf) | |
#2 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#3 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#4 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#5 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#6 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#7 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#8 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#9 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#10 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#11 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#12 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#13 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#14 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#15 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#16 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#17 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#18 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#19 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#20 __libc_start_main <null> (libc.so.6+0x20f69) | |
Thread T2 (tid=19875, running) created by main thread at: | |
#0 pthread_create /checkout/src/libcompiler_builtins/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (lockfree+0x5b8e3) | |
#1 std::sys::imp::thread::Thread::new::he0d818daba42f8e3 /checkout/src/libstd/sys/unix/thread.rs:78 (lockfree+0x19fcf) | |
#2 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#3 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#4 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#5 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#6 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#7 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#8 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#9 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#10 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#11 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#12 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#13 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#14 std::rt::lang_start::{{closure}} /checkout/src/libstd/rt.rs:60 (lockfree+0x1ad55) | |
#15 std::panicking::try::do_call<closure,()> /checkout/src/libstd/panicking.rs:480 (lockfree+0x1ad55) | |
#16 panic_unwind::__rust_maybe_catch_panic /checkout/src/libpanic_unwind/lib.rs:99 (lockfree+0x1ad55) | |
#17 std::panicking::try<(),closure> /checkout/src/libstd/panicking.rs:459 (lockfree+0x1ad55) | |
#18 std::panic::catch_unwind<closure,()> /checkout/src/libstd/panic.rs:365 (lockfree+0x1ad55) | |
#19 std::rt::lang_start::h39a5eb079f1aaead /checkout/src/libstd/rt.rs:59 (lockfree+0x1ad55) | |
#20 __libc_start_main <null> (libc.so.6+0x20f69) | |
SUMMARY: ThreadSanitizer: data race (/home/user/Downloads/lockfree/target/x86_64-unknown-linux-gnu/release/lockfree+0xcc38) in _$LT$heapless..ring_buffer..spsc..Producer$LT$$u27$a$C$$u20$T$C$$u20$A$GT$$GT$::enqueue::h1adcd5277987b439 | |
================== | |
pushed: 127493856 | |
popped: 127493856 | |
All done! | |
ThreadSanitizer: reported 3 warnings |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment