Skip to content

Tsan: data race in Join::setTotals() and Join::hasTotals() #6765

@SeaRise

Description

@SeaRise

JoinExecutorTestRunner.MultiJoin

[2023-02-07T06:49:26.055Z] ==================
[2023-02-07T06:49:26.055Z] WARNING: ThreadSanitizer: data race (pid=1505)
[2023-02-07T06:49:26.055Z]   Read of size 8 at 0x7b6800033460 by thread T84:
[2023-02-07T06:49:26.055Z]     #0 std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> >::empty() const /usr/local/bin/../include/c++/v1/vector:686:41 (gtests_dbms+0xce8dc86)
[2023-02-07T06:49:26.055Z]     #1 DB::Block::operator bool() const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Core/Block.h:120:51 (gtests_dbms+0xce8dc86)
[2023-02-07T06:49:26.055Z]     #2 DB::Join::hasTotals() const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Interpreters/Join.h:126:55 (gtests_dbms+0xce8dc86)
[2023-02-07T06:49:26.055Z]     #3 DB::HashJoinProbeBlockInputStream::getTotals() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/HashJoinProbeBlockInputStream.cpp:45:23 (gtests_dbms+0xce8dc86)
[2023-02-07T06:49:26.055Z]     #4 DB::ExpressionBlockInputStream::getTotals() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34:25 (gtests_dbms+0xbd046ca)
[2023-02-07T06:49:26.055Z]     #5 DB::ExpressionBlockInputStream::getTotals() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34:25 (gtests_dbms+0xbd046ca)
[2023-02-07T06:49:26.055Z]     #6 DB::ExpressionBlockInputStream::getTotals() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34:25 (gtests_dbms+0xbd046ca)
[2023-02-07T06:49:26.055Z]     #7 DB::IProfilingBlockInputStream::getTotals()::$_5::operator()(DB::IProfilingBlockInputStream&) const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/IProfilingBlockInputStream.cpp:421:21 (gtests_dbms+0xbbc940b)
[2023-02-07T06:49:26.055Z]     #8 void DB::IProfilingBlockInputStream::forEachProfilingChild<DB::IProfilingBlockInputStream::getTotals()::$_5>(DB::IProfilingBlockInputStream::getTotals()::$_5&&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/IProfilingBlockInputStream.h:257:21 (gtests_dbms+0xbbc940b)
[2023-02-07T06:49:26.055Z]     #9 DB::IProfilingBlockInputStream::getTotals() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/IProfilingBlockInputStream.cpp:419:5 (gtests_dbms+0xbbc940b)
[2023-02-07T06:49:26.055Z]     #10 DB::IProfilingBlockInputStream::getTotals()::$_5::operator()(DB::IProfilingBlockInputStream&) const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/IProfilingBlockInputStream.cpp:421:21 (gtests_dbms+0xbbc940b)
[2023-02-07T06:49:26.055Z]     #11 void DB::IProfilingBlockInputStream::forEachProfilingChild<DB::IProfilingBlockInputStream::getTotals()::$_5>(DB::IProfilingBlockInputStream::getTotals()::$_5&&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/IProfilingBlockInputStream.h:257:21 (gtests_dbms+0xbbc940b)
[2023-02-07T06:49:26.055Z]     #12 DB::IProfilingBlockInputStream::getTotals() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/IProfilingBlockInputStream.cpp:419:5 (gtests_dbms+0xbbc940b)
[2023-02-07T06:49:26.055Z]     #13 DB::CreatingSetsBlockInputStream::createOne(DB::SubqueryForSet&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/CreatingSetsBlockInputStream.cpp:253:56 (gtests_dbms+0xc23dc38)
[2023-02-07T06:49:26.055Z]     #14 DB::CreatingSetsBlockInputStream::createAll()::$_4::operator()() const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/DataStreams/CreatingSetsBlockInputStream.cpp:140:102 (gtests_dbms+0xc23f414)
[2023-02-07T06:49:26.055Z]     #15 decltype(static_cast<DB::CreatingSetsBlockInputStream::createAll()::$_4&>(fp)()) std::__1::__invoke<DB::CreatingSetsBlockInputStream::createAll()::$_4&>(DB::CreatingSetsBlockInputStream::createAll()::$_4&) /usr/local/bin/../include/c++/v1/type_traits:3918:1 (gtests_dbms+0xc23f414)
[2023-02-07T06:49:26.055Z]     #16 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::CreatingSetsBlockInputStream::createAll()::$_4&>(DB::CreatingSetsBlockInputStream::createAll()::$_4&) /usr/local/bin/../include/c++/v1/__functional/invoke.h:61:9 (gtests_dbms+0xc23f414)
[2023-02-07T06:49:26.055Z]     #17 std::__1::__function::__alloc_func<DB::CreatingSetsBlockInputStream::createAll()::$_4, std::__1::allocator<DB::CreatingSetsBlockInputStream::createAll()::$_4>, void ()>::operator()() /usr/local/bin/../include/c++/v1/__functional/function.h:171:16 (gtests_dbms+0xc23f414)
[2023-02-07T06:49:26.056Z]     #18 std::__1::__function::__func<DB::CreatingSetsBlockInputStream::createAll()::$_4, std::__1::allocator<DB::CreatingSetsBlockInputStream::createAll()::$_4>, void ()>::operator()() /usr/local/bin/../include/c++/v1/__functional/function.h:345:12 (gtests_dbms+0xc23f414)
[2023-02-07T06:49:26.056Z]     #19 std::__1::__function::__value_func<void ()>::operator()() const /usr/local/bin/../include/c++/v1/__functional/function.h:498:16 (gtests_dbms+0xdc748dd)
[2023-02-07T06:49:26.056Z]     #20 std::__1::function<void ()>::operator()() const /usr/local/bin/../include/c++/v1/__functional/function.h:1175:12 (gtests_dbms+0xdc748dd)
[2023-02-07T06:49:26.056Z]     #21 decltype(static_cast<std::__1::function<void ()> const&>(fp)()) std::__1::__invoke<std::__1::function<void ()> const&>(std::__1::function<void ()> const&) /usr/local/bin/../include/c++/v1/type_traits:3918:1 (gtests_dbms+0xdc748dd)
[2023-02-07T06:49:26.056Z]     #22 std::__1::invoke_result<std::__1::function<void ()> const&>::type std::__1::invoke<std::__1::function<void ()> const&>(std::__1::function<void ()> const&) /usr/local/bin/../include/c++/v1/__functional/invoke.h:93:12 (gtests_dbms+0xdc748dd)
[2023-02-07T06:49:26.056Z]     #23 auto std::__1::thread DB::ThreadFactory::newThread<std::__1::function<void ()> >(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::function<void ()>&&)::'lambda'(auto&&...)::operator()<>(auto&&...) const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Common/ThreadFactory.h:47:20 (gtests_dbms+0xdc748dd)
[2023-02-07T06:49:26.056Z]     #24 decltype(static_cast<std::__1::function<void ()>>(fp)()) std::__1::__invoke<std::__1::thread DB::ThreadFactory::newThread<std::__1::function<void ()> >(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::function<void ()>&&)::'lambda'(auto&&...)>(std::__1::function<void ()>&&) /usr/local/bin/../include/c++/v1/type_traits:3918:1 (gtests_dbms+0xdc74567)
[2023-02-07T06:49:26.056Z]     #25 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::thread DB::ThreadFactory::newThread<std::__1::function<void ()> >(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::function<void ()>&&)::'lambda'(auto&&...)>(std::__1::tuple<std::__1::function<void ()>, std::__1::thread DB::ThreadFactory::newThread<std::__1::function<void ()> >(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::function<void ()>&&)::'lambda'(auto&&...)>&, std::__1::__tuple_indices<>) /usr/local/bin/../include/c++/v1/thread:280:5 (gtests_dbms+0xdc74567)
[2023-02-07T06:49:26.056Z]     #26 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::thread DB::ThreadFactory::newThread<std::__1::function<void ()> >(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::function<void ()>&&)::'lambda'(auto&&...)> >(void*) /usr/local/bin/../include/c++/v1/thread:291:5 (gtests_dbms+0xdc74567)
[2023-02-07T06:49:26.056Z] 

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions