-
Notifications
You must be signed in to change notification settings - Fork 8.3k
ThreadSanitizer data race #12952
Copy link
Copy link
Closed
Labels
comp-external-dependenciesThird-party deps updates in contrib/, vendored code, and platform base libraries.Third-party deps updates in contrib/, vendored code, and platform base libraries.duplicatefuzzProblem found by one of the fuzzersProblem found by one of the fuzzers
Description
How to reproduce
- 20.7(master)
- Thread Sanitizer
- integration test_zookeeper_config
node1_1 | ==================
node1_1 | WARNING: ThreadSanitizer: data race (pid=1)
node1_1 | Write of size 4 at 0x7b9000010028 by thread T35:
node1_1 | #0 <null> <null> (clickhouse+0x16f4329d)
node1_1 | #1 <null> <null> (clickhouse+0x16f09c35)
node1_1 | #2 <null> <null> (clickhouse+0x16f09ae2)
node1_1 | #3 <null> <null> (clickhouse+0x16f1bcea)
node1_1 | #4 <null> <null> (clickhouse+0x16f1bfff)
node1_1 | #5 <null> <null> (clickhouse+0x15bec104)
node1_1 | #6 <null> <null> (clickhouse+0x15beff84)
node1_1 | #7 <null> <null> (clickhouse+0x12e1fb9b)
node1_1 | #8 <null> <null> (clickhouse+0xa98e64d)
node1_1 | #9 <null> <null> (clickhouse+0x131c9454)
node1_1 | #10 <null> <null> (clickhouse+0x131c8e64)
node1_1 | #11 <null> <null> (clickhouse+0x131ced2b)
node1_1 | #12 <null> <null> (clickhouse+0xa991dbd)
node1_1 | #13 <null> <null> (clickhouse+0xa9951dc)
node1_1 | #14 <null> <null> (clickhouse+0xa87670c)
node1_1 |
addr2line -afiCe ~/thread-ch/output/binary/clickhouse-server 0x16f4329d 0x16f09c35 0x16f09ae2 0x16f1bcea 0x16f1bfff 0x15bec104 0x15beff84 0x12e1fb9b 0xa98e64d 0x131c9454 0x131c8e64 0x131ced2b 0xa991dbd 0xa9951dc 0xa87670c
0x0000000016f4329d
ssl3_read_bytes
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/record/rec_layer_s3.c:1339
0x0000000016f09c35
ssl3_read_internal
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/s3_lib.c:4470
0x0000000016f09ae2
ssl3_read
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/s3_lib.c:4493
0x0000000016f1bcea
ssl_read_internal
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/ssl_lib.c:1827
0x0000000016f1bfff
SSL_read
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/ssl_lib.c:1841
0x0000000015bec104
Poco::Net::SecureSocketImpl::receiveBytes(void*, int, int)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureSocketImpl.cpp:335
0x0000000015beff84
Poco::Net::SecureStreamSocketImpl::receiveBytes(void*, int, int)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureStreamSocketImpl.cpp:139
0x0000000012e1fb9b
DB::ReadBufferFromPocoSocket::nextImpl()
/build/obj-x86_64-linux-gnu/../src/IO/ReadBufferFromPocoSocket.cpp:34
0x000000000a98e64d
DB::ReadBuffer::readStrict(char*, unsigned long)
/build/obj-x86_64-linux-gnu/../src/IO/ReadBuffer.h:53
??
/build/obj-x86_64-linux-gnu/../src/IO/ReadBuffer.h:81
??
/build/obj-x86_64-linux-gnu/../src/IO/ReadBuffer.h:141
DB::ReadBuffer::readStrict(char*, unsigned long)
/build/obj-x86_64-linux-gnu/../src/IO/ReadBuffer.h:155
0x00000000131c9454
void DB::readPODBinary<int>(int&, DB::ReadBuffer&)
/build/obj-x86_64-linux-gnu/../src/IO/ReadHelpers.h:107
std::__1::enable_if<is_arithmetic_v<int>, void>::type DB::readBinary<int>(int&, DB::ReadBuffer&)
/build/obj-x86_64-linux-gnu/../src/IO/ReadHelpers.h:783
Coordination::read(int&, DB::ReadBuffer&)
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:327
??
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:412
Coordination::ZooKeeper::receiveEvent()
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:1199
0x00000000131c8e64
Coordination::ZooKeeper::receiveThread()
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:1168
0x00000000131ced2b
Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:875
_ZNSt3__118__invoke_constexprIRKZN12Coordination9ZooKeeperC1ERKNS_6vectorINS2_4NodeENS_9allocatorIS4_EEEERKNS_12basic_stringIcNS_11char_traitsIcEENS5_IcEEEESG_SG_N4Poco8TimespanESI_SI_E3$_1JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSM_DpOSN_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3525
decltype(auto) std::__1::__apply_tuple_impl<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1 const&, std::__1::tuple<> const&>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1 const&, std::__1::tuple<> const&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415
decltype(auto) std::__1::apply<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1 const&, std::__1::tuple<> const&>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1 const&, std::__1::tuple<> const&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424
ThreadFromGlobalPool::ThreadFromGlobalPool<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1&&)::{lambda()#1}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:168
_ZNSt3__18__invokeIRZN20ThreadFromGlobalPoolC1IZN12Coordination9ZooKeeperC1ERKNS_6vectorINS4_4NodeENS_9allocatorIS6_EEEERKNS_12basic_stringIcNS_11char_traitsIcEENS7_IcEEEESI_SI_N4Poco8TimespanESK_SK_E3$_1JEEEOT_DpOT0_EUlvE_JEEEDTclclsr3std3__1E7forwardISM_Efp_Espclsr3std3__1E7forwardISO_Efp0_EEESN_SQ_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1540
std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1&&)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()()
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1714
0x000000000a991dbd
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1867
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2473
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:227
0x000000000a9951dc
ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
_ZNSt3__18__invokeIZN14ThreadPoolImplINS_6threadEE12scheduleImplIvEET_NS_8functionIFvvEEEiNS_8optionalImEEEUlvE1_JEEEDTclclsr3std3__1E7forwardIS5_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOSC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:273
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:284
0x000000000a87670c
__tsan_thread_start_func
crtstuff.c:?
node1_1 | Previous write of size 4 at 0x7b9000010028 by thread T34:
node1_1 | #0 <null> <null> (clickhouse+0x16f419d1)
node1_1 | #1 <null> <null> (clickhouse+0x16f41cad)
node1_1 | #2 <null> <null> (clickhouse+0x16f40d34)
node1_1 | #3 <null> <null> (clickhouse+0x16f099b6)
node1_1 | #4 <null> <null> (clickhouse+0x16f1c65e)
node1_1 | #5 <null> <null> (clickhouse+0x16f1c7af)
node1_1 | #6 <null> <null> (clickhouse+0x15bebd84)
node1_1 | #7 <null> <null> (clickhouse+0x15beff24)
node1_1 | #8 <null> <null> (clickhouse+0x12e20806)
node1_1 | #9 <null> <null> (clickhouse+0x131c324a)
node1_1 | #10 <null> <null> (clickhouse+0x131c8925)
node1_1 | #11 <null> <null> (clickhouse+0x131ce86b)
node1_1 | #12 <null> <null> (clickhouse+0xa991dbd)
node1_1 | #13 <null> <null> (clickhouse+0xa9951dc)
node1_1 | #14 <null> <null> (clickhouse+0xa87670c)
node1_1 |
addr2line -afiCe ~/thread-ch/output/binary/clickhouse-server 0x16f419d1 0x16f41cad 0x16f40d34 0x16f099b6 0x16f1c65e 0x16f1c7af 0x15bebd84 0x15beff24 0x12e20806 0x131c324a 0x131c8925 0x131ce86b 0xa991dbd 0xa9951dc 0xa87670c
0x0000000016f419d1
ssl3_write_pending
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/record/rec_layer_s3.c:1223
0x0000000016f41cad
do_ssl3_write
??:?
0x0000000016f40d34
ssl3_write_bytes
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/record/rec_layer_s3.c:625
0x0000000016f099b6
ssl3_write
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/s3_lib.c:4456
0x0000000016f1c65e
ssl_write_internal
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/ssl_lib.c:2018
0x0000000016f1c7af
SSL_write
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/ssl_lib.c:2095
0x0000000015bebd84
Poco::Net::SecureSocketImpl::sendBytes(void const*, int, int)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureSocketImpl.cpp:297
0x0000000015beff24
Poco::Net::SecureStreamSocketImpl::sendBytes(void const*, int, int)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureStreamSocketImpl.cpp:133
0x0000000012e20806
DB::WriteBufferFromPocoSocket::nextImpl()
/build/obj-x86_64-linux-gnu/../src/IO/WriteBufferFromPocoSocket.cpp:42
0x00000000131c324a
Coordination::ZooKeeperRequest::write(DB::WriteBuffer&) const
/build/obj-x86_64-linux-gnu/../src/IO/WriteBuffer.h:44
Coordination::ZooKeeperRequest::write(DB::WriteBuffer&) const
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:424
0x00000000131c8925
Coordination::ZooKeeper::sendThread()
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:1108
0x00000000131ce86b
Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:874
_ZNSt3__118__invoke_constexprIRKZN12Coordination9ZooKeeperC1ERKNS_6vectorINS2_4NodeENS_9allocatorIS4_EEEERKNS_12basic_stringIcNS_11char_traitsIcEENS5_IcEEEESG_SG_N4Poco8TimespanESI_SI_E3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSM_DpOSN_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3525
decltype(auto) std::__1::__apply_tuple_impl<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0 const&, std::__1::tuple<> const&>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0 const&, std::__1::tuple<> const&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415
decltype(auto) std::__1::apply<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0 const&, std::__1::tuple<> const&>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0 const&, std::__1::tuple<> const&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424
ThreadFromGlobalPool::ThreadFromGlobalPool<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0&&)::{lambda()#1}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:168
_ZNSt3__18__invokeIRZN20ThreadFromGlobalPoolC1IZN12Coordination9ZooKeeperC1ERKNS_6vectorINS4_4NodeENS_9allocatorIS6_EEEERKNS_12basic_stringIcNS_11char_traitsIcEENS7_IcEEEESI_SI_N4Poco8TimespanESK_SK_E3$_0JEEEOT_DpOT0_EUlvE_JEEEDTclclsr3std3__1E7forwardISM_Efp_Espclsr3std3__1E7forwardISO_Efp0_EEESN_SQ_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1540
std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0&&)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()()
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1714
0x000000000a991dbd
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1867
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2473
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:227
0x000000000a9951dc
ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
_ZNSt3__18__invokeIZN14ThreadPoolImplINS_6threadEE12scheduleImplIvEET_NS_8functionIFvvEEEiNS_8optionalImEEEUlvE1_JEEEDTclclsr3std3__1E7forwardIS5_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOSC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:273
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:284
0x000000000a87670c
__tsan_thread_start_func
crtstuff.c:?
node1_1 | Location is heap block of size 7336 at 0x7b9000010000 allocated by thread T25:
node1_1 | #0 <null> <null> (clickhouse+0xa874ee4)
node1_1 | #1 <null> <null> (clickhouse+0x17083511)
node1_1 | #2 <null> <null> (clickhouse+0x16f168c0)
node1_1 | #3 <null> <null> (clickhouse+0x15bea7e8)
node1_1 | #4 <null> <null> (clickhouse+0x15bead42)
node1_1 | #5 <null> <null> (clickhouse+0x15befb24)
node1_1 | #6 <null> <null> (clickhouse+0x15c55fef)
node1_1 | #7 <null> <null> (clickhouse+0x131c6c34)
node1_1 | #8 <null> <null> (clickhouse+0x131c5fe9)
node1_1 | #9 <null> <null> (clickhouse+0x131a22db)
node1_1 | #10 <null> <null> (clickhouse+0x131917f0)
node1_1 | #11 <null> <null> (clickhouse+0x1319286d)
node1_1 | #12 <null> <null> (clickhouse+0x120d86cd)
node1_1 | #13 <null> <null> (clickhouse+0x120bc325)
node1_1 | #14 <null> <null> (clickhouse+0x120f404f)
node1_1 | #15 <null> <null> (clickhouse+0x120f1f89)
node1_1 | #16 <null> <null> (clickhouse+0x12107399)
node1_1 | #17 <null> <null> (clickhouse+0x1210728d)
node1_1 | #18 <null> <null> (clickhouse+0xa991dbd)
node1_1 | #19 <null> <null> (clickhouse+0xa9951dc)
node1_1 | #20 <null> <null> (clickhouse+0xa87670c)
node1_1 |
addr2line -afiCe ~/thread-ch/output/binary/clickhouse-server 0xa874ee4 0x17083511 0x16f168c0 0x15bea7e8 0x15bead42 0x15befb24 0x15c55fef 0x131c6c34 0x131c5fe9 0x131a22db 0x131917f0 0x1319286d 0x120d86cd 0x120bc325 0x120f404f 0x120f1f89 0x12107399 0x1210728d 0xa991dbd 0xa9951dc 0xa87670c
0x000000000a874ee4
__interceptor_malloc
??:?
0x0000000017083511
CRYPTO_malloc
/build/obj-x86_64-linux-gnu/../contrib/openssl/crypto/mem.c:192
CRYPTO_zalloc
/build/obj-x86_64-linux-gnu/../contrib/openssl/crypto/mem.c:199
0x0000000016f168c0
SSL_new
/build/obj-x86_64-linux-gnu/../contrib/openssl/ssl/ssl_lib.c:692
0x0000000015bea7e8
Poco::Net::SecureSocketImpl::connectSSL(bool)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureSocketImpl.cpp:170
0x0000000015bead42
Poco::Net::SecureSocketImpl::connect(Poco::Net::SocketAddress const&, Poco::Timespan const&, bool)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureSocketImpl.cpp:144
0x0000000015befb24
Poco::Net::SecureStreamSocketImpl::connect(Poco::Net::SocketAddress const&, Poco::Timespan const&)
/build/obj-x86_64-linux-gnu/../contrib/poco/NetSSL_OpenSSL/src/SecureStreamSocketImpl.cpp:87
0x0000000015c55fef
Poco::Net::StreamSocket::connect(Poco::Net::SocketAddress const&, Poco::Timespan const&)
/build/obj-x86_64-linux-gnu/../contrib/poco/Net/src/StreamSocket.cpp:84
0x00000000131c6c34
Coordination::ZooKeeper::connect(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, Poco::Timespan)
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:913
0x00000000131c5fe9
ZooKeeper
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:869
0x00000000131a22db
std::__1::__unique_if<Coordination::ZooKeeper>::__unique_single std::__1::make_unique<Coordination::ZooKeeper, std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan>(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan&&, Poco::Timespan&&, Poco::Timespan&&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3028
0x00000000131917f0
zkutil::ZooKeeper::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeper.cpp:91
0x000000001319286d
ZooKeeper
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeper.cpp:203
0x00000000120d86cd
__compressed_pair_elem<const Poco::Util::AbstractConfiguration &, char const (&)[10], 0, 1>
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2214
0x00000000120bc325
std::__1::__compressed_pair<std::__1::allocator<zkutil::ZooKeeper>, zkutil::ZooKeeper>::__compressed_pair<std::__1::allocator<zkutil::ZooKeeper>&, Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<zkutil::ZooKeeper>&>, std::__1::tuple<Poco::Util::AbstractConfiguration const&, char const (&) [10]>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2298
std::__1::__shared_ptr_emplace<zkutil::ZooKeeper, std::__1::allocator<zkutil::ZooKeeper> >::__shared_ptr_emplace<Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::allocator<zkutil::ZooKeeper>, Poco::Util::AbstractConfiguration const&, char const (&) [10])
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3569
_ZNSt3__111make_sharedIN6zkutil9ZooKeeperEJRKN4Poco4Util21AbstractConfigurationERA10_KcEEENS_9enable_ifIXntsr8is_arrayIT_EE5valueENS_10shared_ptrISC_EEE4typeEDpOT0_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:4400
DB::Context::getZooKeeper() const
/build/obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:1445
0x00000000120f404f
DB::DDLWorker::getAndSetZooKeeper()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DDLWorker.cpp:274
0x00000000120f1f89
DB::DDLWorker::runMainThread()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DDLWorker.cpp:987
0x0000000012107399
_ZNSt3__118__invoke_constexprIRKMN2DB9DDLWorkerEFvvERKPS2_JEvEEDTcldsdeclsr3std3__1E7forwardIT0_Efp0_Efp_spclsr3std3__1E7forwardIT1_Efp1_EEEOT_OSA_DpOSB_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3467
decltype(auto) std::__1::__apply_tuple_impl<void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&, 0ul>(void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&, std::__1::__tuple_indices<0ul>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415
decltype(auto) std::__1::apply<void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&>(void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424
operator()
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:168
0x000000001210728d
_ZNSt3__18__invokeIRZN20ThreadFromGlobalPoolC1IMN2DB9DDLWorkerEFvvEJPS4_EEEOT_DpOT0_EUlvE_JEEEDTclclsr3std3__1E7forwardIS8_Efp_Espclsr3std3__1E7forwardISA_Efp0_EEES9_SC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1540
std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::DDLWorker::*)(), DB::DDLWorker*>(void (DB::DDLWorker::*&&)(), DB::DDLWorker*&&)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()()
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1714
0x000000000a991dbd
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1867
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2473
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:227
0x000000000a9951dc
ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
_ZNSt3__18__invokeIZN14ThreadPoolImplINS_6threadEE12scheduleImplIvEET_NS_8functionIFvvEEEiNS_8optionalImEEEUlvE1_JEEEDTclclsr3std3__1E7forwardIS5_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOSC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:273
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:284
0x000000000a87670c
__tsan_thread_start_func
crtstuff.c:?
node1_1 | Thread T35 'ZooKeeperRecv' (tid=43, running) created by thread T25 at:
node1_1 | #0 <null> <null> (clickhouse+0xa8767ab)
node1_1 | #1 <null> <null> (clickhouse+0xa9947e1)
node1_1 | #2 <null> <null> (clickhouse+0xa990939)
node1_1 | #3 <null> <null> (clickhouse+0xa991268)
node1_1 | #4 <null> <null> (clickhouse+0x131c6296)
node1_1 | #5 <null> <null> (clickhouse+0x131a22db)
node1_1 | #6 <null> <null> (clickhouse+0x131917f0)
node1_1 | #7 <null> <null> (clickhouse+0x1319286d)
node1_1 | #8 <null> <null> (clickhouse+0x120d86cd)
node1_1 | #9 <null> <null> (clickhouse+0x120bc325)
node1_1 | #10 <null> <null> (clickhouse+0x120f404f)
node1_1 | #11 <null> <null> (clickhouse+0x120f1f89)
node1_1 | #12 <null> <null> (clickhouse+0x12107399)
node1_1 | #13 <null> <null> (clickhouse+0x1210728d)
node1_1 | #14 <null> <null> (clickhouse+0xa991dbd)
node1_1 | #15 <null> <null> (clickhouse+0xa9951dc)
node1_1 | #16 <null> <null> (clickhouse+0xa87670c)
node1_1 |
addr2line -afiCe ~/thread-ch/output/binary/clickhouse-server 0xa8767ab 0xa9947e1 0xa990939 0xa991268 0x131c6296 0x131a22db 0x131917f0 0x1319286d 0x120d86cd 0x120bc325 0x120f404f 0x120f1f89 0x12107399 0x1210728d 0xa991dbd 0xa9951dc 0xa87670c
0x000000000a8767ab
__interceptor_pthread_create
??:?
0x000000000a9947e1
std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:394
thread<(lambda at ../src/Common/ThreadPool.cpp:108:42), void>
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:300
0x000000000a990939
void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
0x000000000a991268
ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, int, unsigned long)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:144
0x00000000131c6296
ThreadFromGlobalPool::ThreadFromGlobalPool<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_1&&)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:158
ZooKeeper
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:875
0x00000000131a22db
std::__1::__unique_if<Coordination::ZooKeeper>::__unique_single std::__1::make_unique<Coordination::ZooKeeper, std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan>(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan&&, Poco::Timespan&&, Poco::Timespan&&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3028
0x00000000131917f0
zkutil::ZooKeeper::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeper.cpp:91
0x000000001319286d
ZooKeeper
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeper.cpp:203
0x00000000120d86cd
__compressed_pair_elem<const Poco::Util::AbstractConfiguration &, char const (&)[10], 0, 1>
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2214
0x00000000120bc325
std::__1::__compressed_pair<std::__1::allocator<zkutil::ZooKeeper>, zkutil::ZooKeeper>::__compressed_pair<std::__1::allocator<zkutil::ZooKeeper>&, Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<zkutil::ZooKeeper>&>, std::__1::tuple<Poco::Util::AbstractConfiguration const&, char const (&) [10]>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2298
std::__1::__shared_ptr_emplace<zkutil::ZooKeeper, std::__1::allocator<zkutil::ZooKeeper> >::__shared_ptr_emplace<Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::allocator<zkutil::ZooKeeper>, Poco::Util::AbstractConfiguration const&, char const (&) [10])
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3569
_ZNSt3__111make_sharedIN6zkutil9ZooKeeperEJRKN4Poco4Util21AbstractConfigurationERA10_KcEEENS_9enable_ifIXntsr8is_arrayIT_EE5valueENS_10shared_ptrISC_EEE4typeEDpOT0_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:4400
DB::Context::getZooKeeper() const
/build/obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:1445
0x00000000120f404f
DB::DDLWorker::getAndSetZooKeeper()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DDLWorker.cpp:274
0x00000000120f1f89
DB::DDLWorker::runMainThread()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DDLWorker.cpp:987
0x0000000012107399
_ZNSt3__118__invoke_constexprIRKMN2DB9DDLWorkerEFvvERKPS2_JEvEEDTcldsdeclsr3std3__1E7forwardIT0_Efp0_Efp_spclsr3std3__1E7forwardIT1_Efp1_EEEOT_OSA_DpOSB_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3467
decltype(auto) std::__1::__apply_tuple_impl<void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&, 0ul>(void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&, std::__1::__tuple_indices<0ul>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415
decltype(auto) std::__1::apply<void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&>(void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424
operator()
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:168
0x000000001210728d
_ZNSt3__18__invokeIRZN20ThreadFromGlobalPoolC1IMN2DB9DDLWorkerEFvvEJPS4_EEEOT_DpOT0_EUlvE_JEEEDTclclsr3std3__1E7forwardIS8_Efp_Espclsr3std3__1E7forwardISA_Efp0_EEES9_SC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1540
std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::DDLWorker::*)(), DB::DDLWorker*>(void (DB::DDLWorker::*&&)(), DB::DDLWorker*&&)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()()
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1714
0x000000000a991dbd
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1867
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2473
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:227
0x000000000a9951dc
ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
_ZNSt3__18__invokeIZN14ThreadPoolImplINS_6threadEE12scheduleImplIvEET_NS_8functionIFvvEEEiNS_8optionalImEEEUlvE1_JEEEDTclclsr3std3__1E7forwardIS5_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOSC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:273
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:284
0x000000000a87670c
__tsan_thread_start_func
crtstuff.c:?
node1_1 | Thread T34 'ZooKeeperSend' (tid=42, running) created by thread T25 at:
node1_1 | #0 <null> <null> (clickhouse+0xa8767ab)
node1_1 | #1 <null> <null> (clickhouse+0xa9947e1)
node1_1 | #2 <null> <null> (clickhouse+0xa990939)
node1_1 | #3 <null> <null> (clickhouse+0xa991268)
node1_1 | #4 <null> <null> (clickhouse+0x131c60fc)
node1_1 | #5 <null> <null> (clickhouse+0x131a22db)
node1_1 | #6 <null> <null> (clickhouse+0x131917f0)
node1_1 | #7 <null> <null> (clickhouse+0x1319286d)
node1_1 | #8 <null> <null> (clickhouse+0x120d86cd)
node1_1 | #9 <null> <null> (clickhouse+0x120bc325)
node1_1 | #10 <null> <null> (clickhouse+0x120f404f)
node1_1 | #11 <null> <null> (clickhouse+0x120f1f89)
node1_1 | #12 <null> <null> (clickhouse+0x12107399)
node1_1 | #13 <null> <null> (clickhouse+0x1210728d)
node1_1 | #14 <null> <null> (clickhouse+0xa991dbd)
node1_1 | #15 <null> <null> (clickhouse+0xa9951dc)
node1_1 | #16 <null> <null> (clickhouse+0xa87670c)
node1_1 |
addr2line -afiCe ~/thread-ch/output/binary/clickhouse-server 0xa8767ab 0xa9947e1 0xa990939 0xa991268 0x131c60fc 0x131a22db 0x131917f0 0x1319286d 0x120d86cd 0x120bc325 0x120f404f 0x120f1f89 0x12107399 0x1210728d 0xa991dbd 0xa9951dc 0xa87670c
0x000000000a8767ab
__interceptor_pthread_create
??:?
0x000000000a9947e1
std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:394
thread<(lambda at ../src/Common/ThreadPool.cpp:108:42), void>
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:300
0x000000000a990939
void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
0x000000000a991268
ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, int, unsigned long)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:144
0x00000000131c60fc
ThreadFromGlobalPool::ThreadFromGlobalPool<Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0>(Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan)::$_0&&)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:158
ZooKeeper
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeperImpl.cpp:874
0x00000000131a22db
std::__1::__unique_if<Coordination::ZooKeeper>::__unique_single std::__1::make_unique<Coordination::ZooKeeper, std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan>(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan&&, Poco::Timespan&&, Poco::Timespan&&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3028
0x00000000131917f0
zkutil::ZooKeeper::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeper.cpp:91
0x000000001319286d
ZooKeeper
/build/obj-x86_64-linux-gnu/../src/Common/ZooKeeper/ZooKeeper.cpp:203
0x00000000120d86cd
__compressed_pair_elem<const Poco::Util::AbstractConfiguration &, char const (&)[10], 0, 1>
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2214
0x00000000120bc325
std::__1::__compressed_pair<std::__1::allocator<zkutil::ZooKeeper>, zkutil::ZooKeeper>::__compressed_pair<std::__1::allocator<zkutil::ZooKeeper>&, Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<zkutil::ZooKeeper>&>, std::__1::tuple<Poco::Util::AbstractConfiguration const&, char const (&) [10]>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2298
std::__1::__shared_ptr_emplace<zkutil::ZooKeeper, std::__1::allocator<zkutil::ZooKeeper> >::__shared_ptr_emplace<Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::allocator<zkutil::ZooKeeper>, Poco::Util::AbstractConfiguration const&, char const (&) [10])
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3569
_ZNSt3__111make_sharedIN6zkutil9ZooKeeperEJRKN4Poco4Util21AbstractConfigurationERA10_KcEEENS_9enable_ifIXntsr8is_arrayIT_EE5valueENS_10shared_ptrISC_EEE4typeEDpOT0_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:4400
DB::Context::getZooKeeper() const
/build/obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:1445
0x00000000120f404f
DB::DDLWorker::getAndSetZooKeeper()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DDLWorker.cpp:274
0x00000000120f1f89
DB::DDLWorker::runMainThread()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DDLWorker.cpp:987
0x0000000012107399
_ZNSt3__118__invoke_constexprIRKMN2DB9DDLWorkerEFvvERKPS2_JEvEEDTcldsdeclsr3std3__1E7forwardIT0_Efp0_Efp_spclsr3std3__1E7forwardIT1_Efp1_EEEOT_OSA_DpOSB_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3467
decltype(auto) std::__1::__apply_tuple_impl<void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&, 0ul>(void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&, std::__1::__tuple_indices<0ul>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415
decltype(auto) std::__1::apply<void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&>(void (DB::DDLWorker::* const&)(), std::__1::tuple<DB::DDLWorker*> const&)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424
operator()
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:168
0x000000001210728d
_ZNSt3__18__invokeIRZN20ThreadFromGlobalPoolC1IMN2DB9DDLWorkerEFvvEJPS4_EEEOT_DpOT0_EUlvE_JEEEDTclclsr3std3__1E7forwardIS8_Efp_Espclsr3std3__1E7forwardISA_Efp0_EEES9_SC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1540
std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::DDLWorker::*)(), DB::DDLWorker*>(void (DB::DDLWorker::*&&)(), DB::DDLWorker*&&)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()()
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1714
0x000000000a991dbd
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1867
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2473
ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:227
0x000000000a9951dc
ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}::operator()() const
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
_ZNSt3__18__invokeIZN14ThreadPoolImplINS_6threadEE12scheduleImplIvEET_NS_8functionIFvvEEEiNS_8optionalImEEEUlvE1_JEEEDTclclsr3std3__1E7forwardIS5_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS5_DpOSC_
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519
void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>&, std::__1::__tuple_indices<>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:273
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::{lambda()#3}>)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:284
0x000000000a87670c
__tsan_thread_start_func
crtstuff.c:?
node1_1 | Thread T25 'DDLWorker' (tid=33, running) created by main thread at:
node1_1 | #0 <null> <null> (clickhouse+0xa8767ab)
node1_1 | #1 <null> <null> (clickhouse+0xa9947e1)
node1_1 | #2 <null> <null> (clickhouse+0xa990939)
node1_1 | #3 <null> <null> (clickhouse+0xa991268)
node1_1 | #4 <null> <null> (clickhouse+0x120ed83c)
node1_1 | #5 <null> <null> (clickhouse+0x120bbc87)
node1_1 | #6 <null> <null> (clickhouse+0x1210f2b8)
node1_1 | #7 <null> <null> (clickhouse+0xa915390)
node1_1 | #8 <null> <null> (clickhouse+0x15c6e6fd)
node1_1 | #9 <null> <null> (clickhouse+0xa90d447)
node1_1 | #10 <null> <null> (clickhouse+0x15c89658)
node1_1 | #11 <null> <null> (clickhouse+0xa925443)
node1_1 | #12 <null> <null> (clickhouse+0xa9061c2)
node1_1 | #13 <null> <null> (libc.so.6+0x271e2)
node1_1 |
node1_1 | SUMMARY: ThreadSanitizer: data race (/usr/bin/clickhouse+0x16f4329d)
addr2line -afiCe ~/thread-ch/output/binary/clickhouse-server 0xa8767ab 0xa9947e1 0xa990939 0xa991268 0x120ed83c 0x120bbc87 0x1210f2b8 0xa915390 0x15c6e6fd 0xa90d447 0x15c89658 0xa925443 0xa9061c2
0x000000000a8767ab
__interceptor_pthread_create
??:?
0x000000000a9947e1
std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*)
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:394
thread<(lambda at ../src/Common/ThreadPool.cpp:108:42), void>
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:300
0x000000000a990939
void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:108
0x000000000a991268
ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, int, unsigned long)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:144
0x00000000120ed83c
ThreadFromGlobalPool::ThreadFromGlobalPool<DB::BackgroundSchedulePool::BackgroundSchedulePool(unsigned long, unsigned long, unsigned long, char const*)::$_1>(DB::BackgroundSchedulePool::BackgroundSchedulePool(unsigned long, unsigned long, unsigned long, char const*)::$_1&&)
/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:158
BackgroundSchedulePool
/build/obj-x86_64-linux-gnu/../src/Core/BackgroundSchedulePool.cpp:163
0x00000000120bbc87
DB::Context::getSchedulePool()
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/optional:323
??
/build/obj-x86_64-linux-gnu/../contrib/libcxx/include/optional:829
DB::Context::getSchedulePool()
/build/obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:1404
0x000000001210f2b8
DB::DatabaseCatalog::loadDatabases()
/build/obj-x86_64-linux-gnu/../src/Interpreters/DatabaseCatalog.cpp:120
0x000000000a915390
DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&)
/build/obj-x86_64-linux-gnu/../programs/server/Server.cpp:686
0x0000000015c6e6fd
Poco::Util::Application::run()
/build/obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:334
0x000000000a90d447
DB::Server::run()
/build/obj-x86_64-linux-gnu/../programs/server/Server.cpp:188
0x0000000015c89658
Poco::Util::ServerApplication::run(int, char**)
/build/obj-x86_64-linux-gnu/../contrib/poco/Util/src/ServerApplication.cpp:611
0x000000000a925443
mainEntryClickHouseServer(int, char**)
/build/obj-x86_64-linux-gnu/../programs/server/Server.cpp:1180
0x000000000a9061c2
main
/build/obj-x86_64-linux-gnu/../programs/main.cpp:324
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
comp-external-dependenciesThird-party deps updates in contrib/, vendored code, and platform base libraries.Third-party deps updates in contrib/, vendored code, and platform base libraries.duplicatefuzzProblem found by one of the fuzzersProblem found by one of the fuzzers