Skip to content

Instantly share code, notes, and snippets.

@nazavode
Created April 1, 2020 17:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nazavode/728ff2260ed5ebd3e800a5b44cadaa8f to your computer and use it in GitHub Desktop.
Save nazavode/728ff2260ed5ebd3e800a5b44cadaa8f to your computer and use it in GitHub Desktop.
WARNING: ThreadSanitizer: data race (pid=8682)
Read of size 8 at 0x7b2800000130 by thread T2:
#0 std::__1::deque<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> > >::empty() const /src/install/llvm-debug-omptsan/bin/../include/c++/v1/deque:1401 (sycl-helloworld.x+0x50557a)
#1 std::__1::queue<std::__1::function<void ()>, std::__1::deque<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> > > >::empty() const /src/install/llvm-debug-omptsan/bin/../include/c++/v1/queue:291 (sycl-helloworld.x+0x502868)
#2 hipcpu::detail::async_queue::work() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:182 (sycl-helloworld.x+0x5024da)
#3 hipcpu::detail::async_queue::work() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:180 (sycl-helloworld.x+0x5024c5)
#4 operator() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:98 (sycl-helloworld.x+0x50229b)
#5 _ZNSt3__18__invokeIZN6hipcpu6detail11async_queueC1EvEUlvE_JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOS6_ /src/install/llvm-debug-omptsan/bin/../include/c++/v1/type_traits:3539 (sycl-helloworld.x+0x5021a0)
#6 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}>&, std::__1::__tuple_indices<>) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:273 (sycl-helloworld.x+0x502038)
#7 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}>) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:284 (sycl-helloworld.x+0x501469)
Previous write of size 8 at 0x7b2800000130 by thread T1 (mutexes: write M25, write M12):
#0 std::__1::deque<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> > >::push_back(std::__1::function<void ()> const&) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/deque:1931 (sycl-helloworld.x+0x50a86d)
#1 std::__1::queue<std::__1::function<void ()>, std::__1::deque<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> > > >::push(std::__1::function<void ()> const&) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/queue:305 (sycl-helloworld.x+0x50a6b8)
#2 hipcpu::detail::async_queue::operator()(std::__1::function<void ()>) /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:195 (sycl-helloworld.x+0x50a577)
#3 void hipcpu::stream::execute<hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}>(hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/detail/runtime.hpp:177 (libhipSYCL_cpu.so+0x8265e)
#4 void hipcpu::stream::execute<hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}>(hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/detail/runtime.hpp:175 (libhipSYCL_cpu.so+0x825ee)
#5 void hipcpu::stream::operator()<hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}>(hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/detail/runtime.hpp:150 (libhipSYCL_cpu.so+0x82513)
#6 void hipcpu::device::submit_operation<hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}>(hipcpu::stream&, hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/detail/runtime.hpp:247 (libhipSYCL_cpu.so+0x8247d)
#7 void hipcpu::runtime::submit_operation<hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}>(hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int)::{lambda()#1}, int) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/detail/runtime.hpp:381 (libhipSYCL_cpu.so+0x823c8)
#8 hipStreamAddCallback(int, void (*)(int, hipError_t, void*), void*, unsigned int) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/hip_runtime.h:521 (libhipSYCL_cpu.so+0x81784)
#9 hipsycl::sycl::detail::task_graph_node::submit() /src/hipSYCL/src/sycl/task_graph.cpp:160 (libhipSYCL_cpu.so+0x7c8c3)
#10 hipsycl::sycl::detail::task_graph::submit_eligible_tasks() /src/hipSYCL/src/sycl/task_graph.cpp:320 (libhipSYCL_cpu.so+0x7d9ab)
#11 hipsycl::sycl::detail::task_graph::process_graph() /src/hipSYCL/src/sycl/task_graph.cpp:333 (libhipSYCL_cpu.so+0x7da78)
#12 operator() /src/hipSYCL/src/sycl/task_graph.cpp:393 (libhipSYCL_cpu.so+0x80bae)
#13 _ZNSt3__18__invokeIRZN7hipsycl4sycl6detail10task_graph23invoke_async_submissionENS_8functionIFvNS_6vectorISt13exception_ptrNS_9allocatorIS7_EEEEEEEE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSF_DpOSG_ /src/install/llvm-debug-omptsan/bin/../include/c++/v1/type_traits:3539 (libhipSYCL_cpu.so+0x80b00)
#14 void std::__1::__invoke_void_return_wrapper<void>::__call<hipsycl::sycl::detail::task_graph::invoke_async_submission(std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>)::$_0&>(hipsycl::sycl::detail::task_graph::invoke_async_submission(std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>)::$_0&) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/__functional_base:348 (libhipSYCL_cpu.so+0x80a60)
#15 std::__1::__function::__alloc_func<hipsycl::sycl::detail::task_graph::invoke_async_submission(std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>)::$_0, std::__1::allocator<hipsycl::sycl::detail::task_graph::invoke_async_submission(std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>)::$_0>, void ()>::operator()() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/functional:1540 (libhipSYCL_cpu.so+0x80a00)
#16 std::__1::__function::__func<hipsycl::sycl::detail::task_graph::invoke_async_submission(std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>)::$_0, std::__1::allocator<hipsycl::sycl::detail::task_graph::invoke_async_submission(std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>)::$_0>, void ()>::operator()() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/functional:1714 (libhipSYCL_cpu.so+0x7ee0f)
#17 std::__1::__function::__value_func<void ()>::operator()() const /src/install/llvm-debug-omptsan/bin/../include/c++/v1/functional:1867 (sycl-helloworld.x+0x506a06)
#18 std::__1::function<void ()>::operator()() const /src/install/llvm-debug-omptsan/bin/../include/c++/v1/functional:2473 (sycl-helloworld.x+0x5029b8)
#19 hipsycl::sycl::detail::worker_thread::work() /src/hipSYCL/src/sycl/async_worker.cpp:126 (libhipSYCL_cpu.so+0x9133c)
#20 operator() /src/hipSYCL/src/sycl/async_worker.cpp:42 (libhipSYCL_cpu.so+0x91f0b)
#21 _ZNSt3__18__invokeIZN7hipsycl4sycl6detail13worker_threadC1EvE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS6_DpOS7_ /src/install/llvm-debug-omptsan/bin/../include/c++/v1/type_traits:3539 (libhipSYCL_cpu.so+0x91e10)
#22 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipsycl::sycl::detail::worker_thread::worker_thread()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipsycl::sycl::detail::worker_thread::worker_thread()::$_0>&, std::__1::__tuple_indices<>) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:273 (libhipSYCL_cpu.so+0x91d38)
#23 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipsycl::sycl::detail::worker_thread::worker_thread()::$_0> >(void*) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:284 (libhipSYCL_cpu.so+0x91879)
Location is heap block of size 160 at 0x7b28000000a0 allocated by main thread:
#0 operator new(unsigned long) /src/llvm/llvm-project-10.0.0/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:64 (sycl-helloworld.x+0x4da9f7)
#1 std::__1::__unique_if<hipcpu::detail::async_queue>::__unique_single std::__1::make_unique<hipcpu::detail::async_queue>() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/memory:3028 (sycl-helloworld.x+0x4ff9a0)
#2 stream /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/runtime.hpp:144 (sycl-helloworld.x+0x4ff823)
#3 std::__1::__unique_if<hipcpu::stream>::__unique_single std::__1::make_unique<hipcpu::stream>() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/memory:3028 (sycl-helloworld.x+0x4f88ce)
#4 runtime /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/runtime.hpp:308 (sycl-helloworld.x+0x4f80d1)
#5 hipcpu::runtime::get() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/runtime.hpp:314 (sycl-helloworld.x+0x4f7f0f)
#6 hipSetDevice(int) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/hip_runtime.h:450 (libhipSYCL_cpu.so+0x2ba27)
#7 hipsycl::sycl::detail::set_device(hipsycl::sycl::device const&) /src/hipSYCL/src/sycl/device.cpp:82 (libhipSYCL_cpu.so+0x2b5da)
#8 stream_manager /src/hipSYCL/src/sycl/queue.cpp:47 (libhipSYCL_cpu.so+0x45408)
#9 hipsycl::sycl::queue::init() /src/hipSYCL/src/sycl/queue.cpp:177 (libhipSYCL_cpu.so+0x45bb0)
#10 queue /src/hipSYCL/src/sycl/queue.cpp:103 (libhipSYCL_cpu.so+0x45a03)
#11 main /src/align/sycl-helloworld.cpp:39 (sycl-helloworld.x+0x4de2fb)
Mutex M25 (0x7b3800000018) created at:
#0 pthread_mutex_lock /src/llvm/llvm-project-10.0.0/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:4153 (sycl-helloworld.x+0x4504db)
#1 std::__1::mutex::lock() /src/llvm/llvm-project-10.0.0/libcxx/include/__threading_support:322 (libc++.so.1+0xff107)
#2 std::__1::mutex::lock() /src/llvm/llvm-project-10.0.0/libcxx/src/mutex.cpp:33 (libc++.so.1+0xff107)
#3 hipsycl::sycl::detail::task_graph::insert(std::__1::function<hipsycl::sycl::detail::task_state ()>, std::__1::vector<std::__1::shared_ptr<hipsycl::sycl::detail::task_graph_node>, std::__1::allocator<std::__1::shared_ptr<hipsycl::sycl::detail::task_graph_node> > > const&, std::__1::shared_ptr<hipsycl::sycl::detail::stream_manager>, std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>) /src/hipSYCL/src/sycl/task_graph.cpp:287 (libhipSYCL_cpu.so+0x7d6b0)
#4 hipsycl::sycl::detail::buffer_impl::access_host(std::__1::shared_ptr<hipsycl::sycl::detail::buffer_impl>, hipsycl::sycl::access::mode, std::__1::shared_ptr<hipsycl::sycl::detail::stream_manager>, std::__1::function<void (std::__1::vector<std::exception_ptr, std::__1::allocator<std::exception_ptr> >)>) /src/hipSYCL/src/sycl/buffer.cpp:474 (libhipSYCL_cpu.so+0x61305)
#5 hipsycl::sycl::detail::accessor::obtain_device_access(std::__1::shared_ptr<hipsycl::sycl::detail::buffer_impl>, hipsycl::sycl::handler&, hipsycl::sycl::access::mode) /src/hipSYCL/src/sycl/accessor.cpp:86 (libhipSYCL_cpu.so+0x8a326)
#6 void hipsycl::sycl::accessor<float, 1, (hipsycl::sycl::access::mode)1024, (hipsycl::sycl::access::target)2014, (hipsycl::sycl::access::placeholder)0>::init_device_accessor<hipsycl::sycl::buffer<float, 1, std::__1::allocator<float> > >(hipsycl::sycl::buffer<float, 1, std::__1::allocator<float> >&, hipsycl::sycl::handler&) /src/install/hipSYCL-debug-omptsan/bin/../include/CL/../hipSYCL/sycl/accessor.hpp:672 (sycl-helloworld.x+0x4f44c1)
#7 accessor<hipsycl::sycl::access::placeholder::false_t, hipsycl::sycl::access::target::global_buffer, 1, nullptr> /src/install/hipSYCL-debug-omptsan/bin/../include/CL/../hipSYCL/sycl/accessor.hpp:404 (sycl-helloworld.x+0x4f42cd)
#8 hipsycl::sycl::accessor<float, 1, (hipsycl::sycl::access::mode)1024, (hipsycl::sycl::access::target)2014, (hipsycl::sycl::access::placeholder)0> hipsycl::sycl::buffer<float, 1, std::__1::allocator<float> >::get_access<(hipsycl::sycl::access::mode)1024, (hipsycl::sycl::access::target)2014>(hipsycl::sycl::handler&) /src/install/hipSYCL-debug-omptsan/bin/../include/CL/../hipSYCL/sycl/buffer.hpp:270 (sycl-helloworld.x+0x4f3ffe)
#9 operator() /src/align/sycl-helloworld.cpp:23 (sycl-helloworld.x+0x4de654)
#10 hipsycl::sycl::event hipsycl::sycl::queue::submit<add(hipsycl::sycl::queue&, std::__1::vector<float, std::__1::allocator<float> > const&, std::__1::vector<float, std::__1::allocator<float> > const&)::$_0>(add(hipsycl::sycl::queue&, std::__1::vector<float, std::__1::allocator<float> > const&, std::__1::vector<float, std::__1::allocator<float> > const&)::$_0) /src/install/hipSYCL-debug-omptsan/bin/../include/CL/../hipSYCL/sycl/queue.hpp:128 (sycl-helloworld.x+0x4de197)
#11 add(hipsycl::sycl::queue&, std::__1::vector<float, std::__1::allocator<float> > const&, std::__1::vector<float, std::__1::allocator<float> > const&) /src/align/sycl-helloworld.cpp:22 (sycl-helloworld.x+0x4ddf0c)
#12 main /src/align/sycl-helloworld.cpp:42 (sycl-helloworld.x+0x4de3e8)
Mutex M12 (0x7b28000000e0) created at:
#0 pthread_mutex_lock /src/llvm/llvm-project-10.0.0/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:4153 (sycl-helloworld.x+0x4504db)
#1 std::__1::mutex::lock() /src/llvm/llvm-project-10.0.0/libcxx/include/__threading_support:322 (libc++.so.1+0xff107)
#2 std::__1::mutex::lock() /src/llvm/llvm-project-10.0.0/libcxx/src/mutex.cpp:33 (libc++.so.1+0xff107)
#3 hipcpu::detail::async_queue::work() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:149 (sycl-helloworld.x+0x50230e)
#4 operator() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:98 (sycl-helloworld.x+0x50229b)
#5 _ZNSt3__18__invokeIZN6hipcpu6detail11async_queueC1EvEUlvE_JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOS6_ /src/install/llvm-debug-omptsan/bin/../include/c++/v1/type_traits:3539 (sycl-helloworld.x+0x5021a0)
#6 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}>&, std::__1::__tuple_indices<>) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:273 (sycl-helloworld.x+0x502038)
#7 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hipcpu::detail::async_queue::async_queue()::{lambda()#1}>) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:284 (sycl-helloworld.x+0x501469)
Thread T2 (tid=8685, running) created by main thread at:
#0 pthread_create /src/llvm/llvm-project-10.0.0/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (sycl-helloworld.x+0x436a05)
#1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/__threading_support:394 (sycl-helloworld.x+0x5013cc)
#2 thread<(lambda at /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:98:30), void> /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:300 (sycl-helloworld.x+0x5001d4)
#3 async_queue /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/queue.hpp:98 (sycl-helloworld.x+0x4ffd23)
#4 std::__1::__unique_if<hipcpu::detail::async_queue>::__unique_single std::__1::make_unique<hipcpu::detail::async_queue>() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/memory:3028 (sycl-helloworld.x+0x4ff9ba)
#5 stream /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/runtime.hpp:144 (sycl-helloworld.x+0x4ff823)
#6 std::__1::__unique_if<hipcpu::stream>::__unique_single std::__1::make_unique<hipcpu::stream>() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/memory:3028 (sycl-helloworld.x+0x4f88ce)
#7 runtime /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/runtime.hpp:308 (sycl-helloworld.x+0x4f80d1)
#8 hipcpu::runtime::get() /src/install/hipSYCL-debug-omptsan/bin/../include/hipSYCL/contrib/hipCPU/hip/detail/runtime.hpp:314 (sycl-helloworld.x+0x4f7f0f)
#9 hipSetDevice(int) /src/hipSYCL/contrib/hipCPU/include/hipCPU/hip/hip_runtime.h:450 (libhipSYCL_cpu.so+0x2ba27)
#10 hipsycl::sycl::detail::set_device(hipsycl::sycl::device const&) /src/hipSYCL/src/sycl/device.cpp:82 (libhipSYCL_cpu.so+0x2b5da)
#11 stream_manager /src/hipSYCL/src/sycl/queue.cpp:47 (libhipSYCL_cpu.so+0x45408)
#12 hipsycl::sycl::queue::init() /src/hipSYCL/src/sycl/queue.cpp:177 (libhipSYCL_cpu.so+0x45bb0)
#13 queue /src/hipSYCL/src/sycl/queue.cpp:103 (libhipSYCL_cpu.so+0x45a03)
#14 main /src/align/sycl-helloworld.cpp:39 (sycl-helloworld.x+0x4de2fb)
Thread T1 (tid=8684, running) created by main thread at:
#0 pthread_create /src/llvm/llvm-project-10.0.0/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (sycl-helloworld.x+0x436a05)
#1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /src/install/llvm-debug-omptsan/bin/../include/c++/v1/__threading_support:394 (libhipSYCL_cpu.so+0x3568c)
#2 thread<(lambda at /src/hipSYCL/src/sycl/async_worker.cpp:42:32), void> /src/install/llvm-debug-omptsan/bin/../include/c++/v1/thread:300 (libhipSYCL_cpu.so+0x90c46)
#3 worker_thread /src/hipSYCL/src/sycl/async_worker.cpp:42 (libhipSYCL_cpu.so+0x90ab1)
#4 task_graph /src/hipSYCL/include/hipSYCL/sycl/detail/task_graph.hpp:104 (libhipSYCL_cpu.so+0x29ef6)
#5 runtime /src/hipSYCL/include/hipSYCL/sycl/detail/runtime.hpp:40 (libhipSYCL_cpu.so+0x29e08)
#6 std::__1::__unique_if<hipsycl::sycl::detail::runtime>::__unique_single std::__1::make_unique<hipsycl::sycl::detail::runtime>() /src/install/llvm-debug-omptsan/bin/../include/c++/v1/memory:3028 (libhipSYCL_cpu.so+0x29a8e)
#7 __cxx_global_var_init /src/hipSYCL/src/sycl/application.cpp:59 (libhipSYCL_cpu.so+0x2966c)
#8 _GLOBAL__sub_I_application.cpp /src/hipSYCL/src/sycl/application.cpp:? (libhipSYCL_cpu.so+0x296d5)
#9 call_init /build/glibc-OTsEL5/glibc-2.27/elf/dl-init.c:72 (ld-linux-x86-64.so.2+0x10732)
#10 _dl_init /build/glibc-OTsEL5/glibc-2.27/elf/dl-init.c:119 (ld-linux-x86-64.so.2+0x10732)
SUMMARY: ThreadSanitizer: data race /src/install/llvm-debug-omptsan/bin/../include/c++/v1/deque:1401 in std::__1::deque<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> > >::empty() const
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment