Skip to content

Instantly share code, notes, and snippets.

@pftbest
Created November 9, 2017 13:13
Show Gist options
  • Save pftbest/183d7850a3f4535b7e5f9343929f46ad to your computer and use it in GitHub Desktop.
Save pftbest/183d7850a3f4535b7e5f9343929f46ad to your computer and use it in GitHub Desktop.
[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