Open Luni-4 opened 9 months ago
Describe the bug
ThreadSanitizer found a data race in burn-ndarray during a CI run
ThreadSanitizer
burn-ndarray
WARNING: ThreadSanitizer: data race (pid=15776) Write of size 4 at 0x7b54000102a4 by thread T13: #0 core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut :? (burn_ndarray-51399133c42fa29e+0x1db73d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #1 rayon::iter::plumbing::bridge_producer_consumer::helper :? (burn_ndarray-51399133c42fa29e+0x25062a) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #2 std::panicking::try::do_call burn_ndarray.901f863f1cbc3d57-cgu.08:? (burn_ndarray-51399133c42fa29e+0x24634f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #3 std::panicking::try::do_call burn_ndarray.901f863f1cbc3d57-cgu.08:? (burn_ndarray-51399133c42fa29e+0x24634f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #4 __rust_try.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x257de1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #5 _ZN10rayon_core4join12join_context28_$u7b$$u7b$closure$u7d$$u7d$17h93b9553cbbe82af7E.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x23257b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #6 rayon::iter::plumbing::bridge_producer_consumer::helper :? (burn_ndarray-51399133c42fa29e+0x250709) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #7 _ZN3std9panicking3try7do_call17h7d4c6747735fe6a6E.llvm.8478776680530700365 ??:? (burn_ndarray-51399133c42fa29e+0x24732d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #8 __rust_try.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x257de1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #9 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x2431de) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #10 <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute ??:? (burn_ndarray-51399133c42fa29e+0x3245aa) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #11 rayon_core::registry::WorkerThread::wait_until_cold ??:? (burn_ndarray-51399133c42fa29e+0x45713) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #12 rayon_core::registry::ThreadBuilder::run ??:? (burn_ndarray-51399133c42fa29e+0x3e14aa) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #13 std::sys_common::backtrace::__rust_begin_short_backtrace :? (burn_ndarray-51399133c42fa29e+0x3eaf5f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #14 _ZN3std9panicking3try7do_call17h6db1bd312721e32eE.llvm.4690975474636679939 ??:? (burn_ndarray-51399133c42fa29e+0x3e863e) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #15 __rust_try.llvm.4690975474636679939 :? (burn_ndarray-51399133c42fa29e+0x3e88e1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #16 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x3e843c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #17 core::ops::function::FnOnce::call_once{{vtable.shim}} rayon_core.3cdeec2b208d0fd2-cgu.03:? (burn_ndarray-51399133c42fa29e+0x3e61d3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #18 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once :? (burn_ndarray-51399133c42fa29e+0x4103fd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #19 std::sys::unix::thread::Thread::new::thread_start std.ef3b3c2a2c925d54-cgu.13:? (burn_ndarray-51399133c42fa29e+0x43120c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) Previous write of size 4 at 0x7b54000102a4 by thread T11: #0 core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut :? (burn_ndarray-51399133c42fa29e+0x1db73d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #1 rayon::iter::plumbing::bridge_producer_consumer::helper :? (burn_ndarray-51399133c42fa29e+0x25062a) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #2 std::panicking::try::do_call burn_ndarray.901f863f1cbc3d57-cgu.08:? (burn_ndarray-51399133c42fa29e+0x24634f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #3 std::panicking::try::do_call burn_ndarray.901f863f1cbc3d57-cgu.08:? (burn_ndarray-51399133c42fa29e+0x24634f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #4 __rust_try.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x257de1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #5 _ZN10rayon_core4join12join_context28_$u7b$$u7b$closure$u7d$$u7d$17h93b9553cbbe82af7E.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x23257b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #6 rayon::iter::plumbing::bridge_producer_consumer::helper :? (burn_ndarray-51399133c42fa29e+0x250709) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #7 std::panicking::try::do_call burn_ndarray.901f863f1cbc3d57-cgu.08:? (burn_ndarray-51399133c42fa29e+0x24634f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #8 __rust_try.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x257de1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #9 _ZN10rayon_core4join12join_context28_$u7b$$u7b$closure$u7d$$u7d$17h93b9553cbbe82af7E.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x23257b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #10 rayon::iter::plumbing::bridge_producer_consumer::helper :? (burn_ndarray-51399133c42fa29e+0x250709) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #11 _ZN3std9panicking3try7do_call17h7d4c6747735fe6a6E.llvm.8478776680530700365 ??:? (burn_ndarray-51399133c42fa29e+0x24732d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #12 __rust_try.llvm.8478776680530700365 :? (burn_ndarray-51399133c42fa29e+0x257de1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #13 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x2431de) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #14 <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute ??:? (burn_ndarray-51399133c42fa29e+0x3245aa) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #15 rayon_core::registry::WorkerThread::wait_until_cold ??:? (burn_ndarray-51399133c42fa29e+0x45713) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #16 rayon_core::registry::ThreadBuilder::run ??:? (burn_ndarray-51399133c42fa29e+0x3e14aa) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #17 std::sys_common::backtrace::__rust_begin_short_backtrace :? (burn_ndarray-51399133c42fa29e+0x3eaf5f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #18 _ZN3std9panicking3try7do_call17h6db1bd312721e32eE.llvm.4690975474636679939 ??:? (burn_ndarray-51399133c42fa29e+0x3e863e) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #19 __rust_try.llvm.4690975474636679939 :? (burn_ndarray-51399133c42fa29e+0x3e88e1) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #20 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x3e843c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #21 core::ops::function::FnOnce::call_once{{vtable.shim}} rayon_core.3cdeec2b208d0fd2-cgu.03:? (burn_ndarray-51399133c42fa29e+0x3e61d3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #22 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once :? (burn_ndarray-51399133c42fa29e+0x4103fd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #23 std::sys::unix::thread::Thread::new::thread_start std.ef3b3c2a2c925d54-cgu.13:? (burn_ndarray-51399133c42fa29e+0x43120c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) Location is heap block of size 576 at 0x7b5400010180 allocated by thread T59: #0 calloc ??:? (burn_ndarray-51399133c42fa29e+0x508e6) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #1 __rdl_alloc_zeroed :? (burn_ndarray-51399133c42fa29e+0x43ff21) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #2 ndarray::impl_constructors::<impl ndarray::ArrayBase<S,D>>::zeros :? (burn_ndarray-51399133c42fa29e+0x1160a6) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #3 burn_ndarray::ops::conv::conv_transpose2d :? (burn_ndarray-51399133c42fa29e+0x1ea79c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #4 burn_ndarray::ops::conv::conv_transpose2d :? (burn_ndarray-51399133c42fa29e+0x1ea79c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #5 _ZN11burn_tensor6tensor3ops7modules4base9ModuleOps16conv_transpose1d17h9301b1adafe9179dE.llvm.15491920304318846839 :? (burn_ndarray-51399133c42fa29e+0x281e7b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #6 burn_tensor::tensor::module::conv_transpose1d :? (burn_ndarray-51399133c42fa29e+0x2849ea) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #7 burn_ndarray::tests::ad_conv_transpose1d::tests::ConvTranspose1dTestCase::assert_grads burn_ndarray.901f863f1cbc3d57-cgu.15:? (burn_ndarray-51399133c42fa29e+0x331082) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #8 burn_ndarray::tests::ad_conv_transpose1d::tests::test_conv_transpose1d_complex :? (burn_ndarray-51399133c42fa29e+0x33209c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #9 core::ops::function::FnOnce::call_once burn_ndarray.901f863f1cbc3d57-cgu.04:? (burn_ndarray-51399133c42fa29e+0x1a7ad8) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #10 test::__rust_begin_short_backtrace :? (burn_ndarray-51399133c42fa29e+0x34c66c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #11 test::types::RunnableTest::run :? (burn_ndarray-51399133c42fa29e+0x366d10) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #12 _ZN3std9panicking3try7do_call17h0495a4fdb2d2a08dE.llvm.683101349411255501 ??:? (burn_ndarray-51399133c42fa29e+0x377c65) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #13 __rust_try.llvm.683101349411255501 :? (burn_ndarray-51399133c42fa29e+0x378d91) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #14 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x377ba3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #15 test::run_test_in_process :? (burn_ndarray-51399133c42fa29e+0x34c939) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #16 std::sys_common::backtrace::__rust_begin_short_backtrace test.c50ec187226793ef-cgu.12:? (burn_ndarray-51399133c42fa29e+0x374672) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #17 _ZN3std9panicking3try7do_call17h6d0d6c9e0ee85664E.llvm.683101349411255501 ??:? (burn_ndarray-51399133c42fa29e+0x377f5d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #18 __rust_try.llvm.683101349411255501 :? (burn_ndarray-51399133c42fa29e+0x378d91) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #19 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x377b1b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #20 core::ops::function::FnOnce::call_once{{vtable.shim}} test.c50ec187226793ef-cgu.15:? (burn_ndarray-51399133c42fa29e+0x388619) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #21 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once :? (burn_ndarray-51399133c42fa29e+0x4103fd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #22 std::sys::unix::thread::Thread::new::thread_start std.ef3b3c2a2c925d54-cgu.13:? (burn_ndarray-51399133c42fa29e+0x43120c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) Thread T13 (tid=15790, running) created by thread T7 at: #0 pthread_create ??:? (burn_ndarray-51399133c42fa29e+0x51dab) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #1 std::sys::unix::thread::Thread::new ??:? (burn_ndarray-51399133c42fa29e+0x430fe5) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #2 std::thread::Builder::spawn_unchecked :? (burn_ndarray-51399133c42fa29e+0x3e5a7b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #3 <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn ??:? (burn_ndarray-51399133c42fa29e+0x3e183e) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #4 rayon_core::registry::Registry::new :? (burn_ndarray-51399133c42fa29e+0x3e2485) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #5 rayon_core::registry::default_global_registry :? (burn_ndarray-51399133c42fa29e+0x3e1c24) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #6 std::sys_common::once::futex::Once::call :? (burn_ndarray-51399133c42fa29e+0x4606f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #7 rayon_core::registry::global_registry ??:? (burn_ndarray-51399133c42fa29e+0x3e1abd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #8 rayon_core::registry::in_worker :? (burn_ndarray-51399133c42fa29e+0x235d29) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #9 burn_ndarray::ops::matmul::matmul :? (burn_ndarray-51399133c42fa29e+0x1b7a29) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #10 burn_autodiff::ops::tensor::<impl burn_tensor::tensor::ops::tensor::TensorOps<burn_autodiff::backend::Autodiff<B>> for burn_autodiff::backend::Autodiff<B>>::matmul :? (burn_ndarray-51399133c42fa29e+0x29431e) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #11 burn_tensor::tensor::api::float::<impl burn_tensor::tensor::api::base::Tensor<B,_>>::matmul :? (burn_ndarray-51399133c42fa29e+0x2f7d0c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #12 burn_ndarray::tests::ad_abs::tests::should_diff_abs :? (burn_ndarray-51399133c42fa29e+0x33dec3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #13 core::ops::function::FnOnce::call_once burn_ndarray.901f863f1cbc3d57-cgu.04:? (burn_ndarray-51399133c42fa29e+0x178908) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #14 test::__rust_begin_short_backtrace :? (burn_ndarray-51399133c42fa29e+0x34c66c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #15 test::types::RunnableTest::run :? (burn_ndarray-51399133c42fa29e+0x366d10) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #16 _ZN3std9panicking3try7do_call17h0495a4fdb2d2a08dE.llvm.683101349411255501 ??:? (burn_ndarray-51399133c42fa29e+0x377c65) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #17 __rust_try.llvm.683101349411255501 :? (burn_ndarray-51399133c42fa29e+0x378d91) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #18 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x377ba3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #19 test::run_test_in_process :? (burn_ndarray-51399133c42fa29e+0x34c939) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #20 std::sys_common::backtrace::__rust_begin_short_backtrace test.c50ec187226793ef-cgu.12:? (burn_ndarray-51399133c42fa29e+0x374672) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #21 _ZN3std9panicking3try7do_call17h6d0d6c9e0ee85664E.llvm.683101349411255501 ??:? (burn_ndarray-51399133c42fa29e+0x377f5d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #22 __rust_try.llvm.683101349411255501 :? (burn_ndarray-51399133c42fa29e+0x378d91) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #23 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x377b1b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #24 core::ops::function::FnOnce::call_once{{vtable.shim}} test.c50ec187226793ef-cgu.15:? (burn_ndarray-51399133c42fa29e+0x388619) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once :? (burn_ndarray-51399133c42fa29e+0x4103fd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #26 std::sys::unix::thread::Thread::new::thread_start std.ef3b3c2a2c925d54-cgu.13:? (burn_ndarray-51399133c42fa29e+0x43120c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) Thread T11 (tid=15788, running) created by thread T7 at: #0 pthread_create ??:? (burn_ndarray-51399133c42fa29e+0x51dab) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #1 std::sys::unix::thread::Thread::new ??:? (burn_ndarray-51399133c42fa29e+0x430fe5) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #2 std::thread::Builder::spawn_unchecked :? (burn_ndarray-51399133c42fa29e+0x3e5a7b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #3 <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn ??:? (burn_ndarray-51399133c42fa29e+0x3e183e) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #4 rayon_core::registry::Registry::new :? (burn_ndarray-51399133c42fa29e+0x3e2485) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #5 rayon_core::registry::default_global_registry :? (burn_ndarray-51399133c42fa29e+0x3e1c24) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #6 std::sys_common::once::futex::Once::call :? (burn_ndarray-51399133c42fa29e+0x4606f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #7 rayon_core::registry::global_registry ??:? (burn_ndarray-51399133c42fa29e+0x3e1abd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #8 rayon_core::registry::in_worker :? (burn_ndarray-51399133c42fa29e+0x235d29) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #9 burn_ndarray::ops::matmul::matmul :? (burn_ndarray-51399133c42fa29e+0x1b7a29) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #10 burn_autodiff::ops::tensor::<impl burn_tensor::tensor::ops::tensor::TensorOps<burn_autodiff::backend::Autodiff<B>> for burn_autodiff::backend::Autodiff<B>>::matmul :? (burn_ndarray-51399133c42fa29e+0x29431e) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #11 burn_tensor::tensor::api::float::<impl burn_tensor::tensor::api::base::Tensor<B,_>>::matmul :? (burn_ndarray-51399133c42fa29e+0x2f7d0c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #12 burn_ndarray::tests::ad_abs::tests::should_diff_abs :? (burn_ndarray-51399133c42fa29e+0x33dec3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #13 core::ops::function::FnOnce::call_once burn_ndarray.901f863f1cbc3d57-cgu.04:? (burn_ndarray-51399133c42fa29e+0x178908) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #14 test::__rust_begin_short_backtrace :? (burn_ndarray-51399133c42fa29e+0x34c66c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #15 test::types::RunnableTest::run :? (burn_ndarray-51399133c42fa29e+0x366d10) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #16 _ZN3std9panicking3try7do_call17h0495a4fdb2d2a08dE.llvm.683101349411255501 ??:? (burn_ndarray-51399133c42fa29e+0x377c65) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #17 __rust_try.llvm.683101349411255501 :? (burn_ndarray-51399133c42fa29e+0x378d91) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #18 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x377ba3) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #19 test::run_test_in_process :? (burn_ndarray-51399133c42fa29e+0x34c939) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #20 std::sys_common::backtrace::__rust_begin_short_backtrace test.c50ec187226793ef-cgu.12:? (burn_ndarray-51399133c42fa29e+0x374672) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #21 _ZN3std9panicking3try7do_call17h6d0d6c9e0ee85664E.llvm.683101349411255501 ??:? (burn_ndarray-51399133c42fa29e+0x377f5d) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #22 __rust_try.llvm.683101349411255501 :? (burn_ndarray-51399133c42fa29e+0x378d91) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #23 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x377b1b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #24 core::ops::function::FnOnce::call_once{{vtable.shim}} test.c50ec187226793ef-cgu.15:? (burn_ndarray-51399133c42fa29e+0x388619) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once :? (burn_ndarray-51399133c42fa29e+0x4103fd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #26 std::sys::unix::thread::Thread::new::thread_start std.ef3b3c2a2c925d54-cgu.13:? (burn_ndarray-51399133c42fa29e+0x43120c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) Thread T59 'tests::ad_conv_' (tid=15836, running) created by main thread at: #0 pthread_create ??:? (burn_ndarray-51399133c42fa29e+0x51dab) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #1 std::sys::unix::thread::Thread::new ??:? (burn_ndarray-51399133c42fa29e+0x430fe5) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #2 std::thread::Builder::spawn_unchecked :? (burn_ndarray-51399133c42fa29e+0x387b49) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #3 test::run_test ??:? (burn_ndarray-51399133c42fa29e+0x34be79) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #4 test::run_tests :? (burn_ndarray-51399133c42fa29e+0x34a15b) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #5 test::console::run_tests_console ??:? (burn_ndarray-51399133c42fa29e+0x355837) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #6 test::test_main ??:? (burn_ndarray-51399133c42fa29e+0x3481d6) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #7 test::test_main_static ??:? (burn_ndarray-51399133c42fa29e+0x348775) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #8 burn_ndarray::main burn_ndarray.901f863f1cbc3d57-cgu.04:? (burn_ndarray-51399133c42fa29e+0x1c7e4c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #9 std::sys_common::backtrace::__rust_begin_short_backtrace :? (burn_ndarray-51399133c42fa29e+0x270b7f) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #10 std::rt::lang_start::{{closure}} burn_ndarray.901f863f1cbc3d57-cgu.14:? (burn_ndarray-51399133c42fa29e+0x300bbd) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #11 std::panicking::try::do_call std.ef3b3c2a2c925d54-cgu.12:? (burn_ndarray-51399133c42fa29e+0x42cdf9) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #12 __rust_try.llvm.11366941152174039794 :? (burn_ndarray-51399133c42fa29e+0x42ea61) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #13 __rust_try.llvm.11366941152174039794 :? (burn_ndarray-51399133c42fa29e+0x42ea61) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #14 _ZN3std9panicking3try7do_call17h4018ddc516b46077E.llvm.11366941152174039794 ??:? (burn_ndarray-51399133c42fa29e+0x42ccdb) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #15 __rust_try.llvm.11366941152174039794 :? (burn_ndarray-51399133c42fa29e+0x42ea61) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #16 std::panicking::try :? (burn_ndarray-51399133c42fa29e+0x42cac8) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #17 std::rt::lang_start_internal ??:? (burn_ndarray-51399133c42fa29e+0x3febf6) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #18 std::rt::lang_start :? (burn_ndarray-51399133c42fa29e+0x300b6c) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) #19 main ??:? (burn_ndarray-51399133c42fa29e+0x1c7e95) (BuildId: 4087df8e94bfad1425551e9a29478a6bad64cf61) SUMMARY: ThreadSanitizer: data race :? in core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
To Reproduce
Run
cargo test -Zbuild-std --target x86_64-unknown-linux-gnu -- --nocapture
on Linux with the following environment variables
RUSTFLAGS=-Zsanitizer=thread -Copt-level=3
RUSTDOCFLAGS=-Zsanitizer=thread
A nightly toolchain is required because -Z options are unstable.
-Z
Desktop (please complete the following information):
@Luni-4 I can confirm that I get this also on my local macOS machine
Is it fixed now @dcvz?
Describe the bug
ThreadSanitizer
found a data race inburn-ndarray
during a CI runTo Reproduce
Run
on Linux with the following environment variables
RUSTFLAGS=-Zsanitizer=thread -Copt-level=3
RUSTDOCFLAGS=-Zsanitizer=thread
A nightly toolchain is required because
-Z
options are unstable.Desktop (please complete the following information):