Mike Percy created KUDU-2059:
--------------------------------
Summary: Data race in DnsResolver
Key: KUDU-2059
URL: https://issues.apache.org/jira/browse/KUDU-2059
Project: Kudu
Issue Type: Bug
Components: server
Affects Versions: 1.4.0
Reporter: Mike Percy
I got a TSAN failure in a Jenkins run of
RaftConsensusITest.MultiThreadedInsertWithFailovers:
http://dist-test.cloudera.org/job?job_id=jenkins-slave.1498799877.11199
{code}
WARNING: ThreadSanitizer: data race (pid=14861)
Write of size 8 at 0x7b5000006af0 by main thread:
#0 pthread_cond_destroy
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1102
(raft_consensus-itest+0x4a198c)
#1 kudu::ConditionVariable::~ConditionVariable()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/condition_variable.cc:57:12
(libkudu_util.so+0xf107e)
#2 kudu::ThreadPool::~ThreadPool()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:339:1
(libkudu_util.so+0x1c1b93)
#3 kudu::DefaultDeleter<kudu::ThreadPool>::operator()(kudu::ThreadPool*)
const
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/gscoped_ptr.h:145:5
(libmaster.so+0xc0bbe)
#4 kudu::internal::gscoped_ptr_impl<kudu::ThreadPool,
kudu::DefaultDeleter<kudu::ThreadPool> >::~gscoped_ptr_impl()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/gscoped_ptr.h:228:7
(libmaster.so+0xc0b89)
#5 gscoped_ptr<kudu::ThreadPool, kudu::DefaultDeleter<kudu::ThreadPool>
>::~gscoped_ptr()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/gscoped_ptr.h:318:7
(libmaster.so+0xb1b79)
#6 kudu::DnsResolver::~DnsResolver()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/net/dns_resolver.cc:45:1
(libkudu_util.so+0x1863fa)
#7 kudu::DefaultDeleter<kudu::DnsResolver>::operator()(kudu::DnsResolver*)
const
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/gscoped_ptr.h:145:5
(libkudu_client.so+0xd0dee)
#8 kudu::internal::gscoped_ptr_impl<kudu::DnsResolver,
kudu::DefaultDeleter<kudu::DnsResolver> >::reset(kudu::DnsResolver*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/gscoped_ptr.h:254:7
(libkudu_client.so+0xd0da4)
#9 gscoped_ptr<kudu::DnsResolver, kudu::DefaultDeleter<kudu::DnsResolver>
>::reset(kudu::DnsResolver*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/gscoped_ptr.h:375:46
(libkudu_client.so+0xc5fd0)
#10 kudu::client::KuduClient::Data::~Data()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/client-internal.cc:342:17
(libkudu_client.so+0xd6b1d)
#11 kudu::client::KuduClient::~KuduClient()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/client.cc:334:3
(libkudu_client.so+0xbbfec)
#12
std::__1::default_delete<kudu::client::KuduClient>::operator()(kudu::client::KuduClient*)
const
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/c++/v1/memory:2397:13
(libkudu_client.so+0xd06bb)
#13 std::__1::__shared_ptr_pointer<kudu::client::KuduClient*,
std::__1::default_delete<kudu::client::KuduClient>,
std::__1::allocator<kudu::client::KuduClient> >::__on_zero_shared()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/c++/v1/memory:3795
(libkudu_client.so+0xd06bb)
#14 __release_shared
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/libcxx/src/memory.cpp:67:9
(libc++.so.1+0xc095d)
#15 std::__1::__shared_weak_count::__release_shared()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/libcxx/src/memory.cpp:92
(libc++.so.1+0xc095d)
#16 std::__1::shared_ptr<kudu::client::KuduClient>::~shared_ptr()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/c++/v1/memory:4626:19
(raft_consensus-itest+0x548818)
#17
kudu::tserver::TabletServerIntegrationTestBase::~TabletServerIntegrationTestBase()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/ts_itest-base.h:69:7
(raft_consensus-itest+0x54890f)
#18 kudu::tserver::RaftConsensusITest::~RaftConsensusITest()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/raft_consensus-itest.cc:107:7
(raft_consensus-itest+0x547887)
#19
kudu::tserver::RaftConsensusITest_MultiThreadedInsertWithFailovers_Test::~RaftConsensusITest_MultiThreadedInsertWithFailovers_Test()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/raft_consensus-itest.cc:1040:1
(raft_consensus-itest+0x547ac9)
#20 testing::Test::DeleteSelf_()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/include/gtest/gtest.h:453:24
(libgmock.so+0x53187)
#21 void
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x52b39)
#22 void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x52b39)
#23 testing::TestInfo::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2661:3
(libgmock.so+0x340a0)
#24 testing::TestCase::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
(libgmock.so+0x34da6)
#25 testing::internal::UnitTestImpl::RunAllTests()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
(libgmock.so+0x40896)
#26 bool
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x53a19)
#27 bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x53a19)
#28 testing::UnitTest::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
(libgmock.so+0x402e1)
#29 RUN_ALL_TESTS()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
(libkudu_test_main.so+0x33db)
#30 main
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/test_main.cc:104:13
(libkudu_test_main.so+0x2b96)
Previous read of size 8 at 0x7b5000006af0 by thread T33:
#0 pthread_cond_signal
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1088
(raft_consensus-itest+0x4a16c0)
#1 kudu::ConditionVariable::Signal()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/condition_variable.cc:136:12
(libkudu_util.so+0xf14fe)
#2 kudu::ThreadPool::DoSubmit(std::__1::shared_ptr<kudu::Runnable>,
kudu::ThreadPoolToken*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:529:14
(libkudu_util.so+0x1c099b)
#3 kudu::ThreadPool::Submit(std::__1::shared_ptr<kudu::Runnable>)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:452:10
(libkudu_util.so+0x1c260f)
#4 kudu::ThreadPool::SubmitFunc(boost::function<void ()>)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:448:10
(libkudu_util.so+0x1c26a9)
#5 kudu::DnsResolver::ResolveAddresses(kudu::HostPort const&,
std::__1::vector<kudu::Sockaddr, std::__1::allocator<kudu::Sockaddr> >*,
kudu::Callback<void (kudu::Status const&)> const&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/net/dns_resolver.cc:57:21
(libkudu_util.so+0x1864ab)
#6
kudu::client::internal::RemoteTabletServer::InitProxy(kudu::client::KuduClient*,
kudu::Callback<void (kudu::Status const&)> const&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/meta_cache.cc:133:33
(libkudu_client.so+0xf8bf3)
#7
kudu::client::internal::MetaCacheServerPicker::PickLeader(kudu::Callback<void
(kudu::Status const&, kudu::client::internal::RemoteTabletServer*)> const&,
kudu::MonoTime const&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/meta_cache.cc:441:11
(libkudu_client.so+0xfaeaf)
#8 kudu::rpc::RetriableRpc<kudu::client::internal::RemoteTabletServer,
kudu::tserver::WriteRequestPB, kudu::tserver::WriteResponsePB>::SendRpc()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/retriable_rpc.h:144:19
(libkudu_client.so+0xb2ad8)
#9 kudu::rpc::RpcRetrier::DelayedRetryCb(kudu::rpc::Rpc*, kudu::Status
const&) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/rpc.cc:89:10
(libkrpc.so+0xcc72c)
#10 boost::_mfi::mf2<void, kudu::rpc::RpcRetrier, kudu::rpc::Rpc*,
kudu::Status const&>::operator()(kudu::rpc::RpcRetrier*, kudu::rpc::Rpc*,
kudu::Status const&) const
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/mem_fn_template.hpp:280:29
(libkrpc.so+0xcd117)
#11 void boost::_bi::list3<boost::_bi::value<kudu::rpc::RpcRetrier*>,
boost::_bi::value<kudu::rpc::Rpc*>, boost::arg<1>
>::operator()<boost::_mfi::mf2<void, kudu::rpc::RpcRetrier, kudu::rpc::Rpc*,
kudu::Status const&>, boost::_bi::rrlist1<kudu::Status const&>
>(boost::_bi::type<void>, boost::_mfi::mf2<void, kudu::rpc::RpcRetrier,
kudu::rpc::Rpc*, kudu::Status const&>&, boost::_bi::rrlist1<kudu::Status
const&>&, int)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/bind.hpp:398:9
(libkrpc.so+0xcd052)
#12 void boost::_bi::bind_t<void, boost::_mfi::mf2<void,
kudu::rpc::RpcRetrier, kudu::rpc::Rpc*, kudu::Status const&>,
boost::_bi::list3<boost::_bi::value<kudu::rpc::RpcRetrier*>,
boost::_bi::value<kudu::rpc::Rpc*>, boost::arg<1> > >::operator()<kudu::Status
const&>(kudu::Status const&)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/bind.hpp:1234:16
(libkrpc.so+0xccf78)
#13
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf2<void, kudu::rpc::RpcRetrier, kudu::rpc::Rpc*, kudu::Status
const&>, boost::_bi::list3<boost::_bi::value<kudu::rpc::RpcRetrier*>,
boost::_bi::value<kudu::rpc::Rpc*>, boost::arg<1> > >, void, kudu::Status
const&>::invoke(boost::detail::function::function_buffer&, kudu::Status const&)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/function/function_template.hpp:159:11
(libkrpc.so+0xccd13)
#14 boost::function1<void, kudu::Status const&>::operator()(kudu::Status
const&) const
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/function/function_template.hpp:770:14
(libkrpc.so+0xbb064)
#15 kudu::rpc::DelayedTask::TimerHandler(ev::timer&, int)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/reactor.cc:579:5
(libkrpc.so+0xb90b4)
#16 void ev::base<ev_timer,
ev::timer>::method_thunk<kudu::rpc::DelayedTask,
&kudu::rpc::DelayedTask::TimerHandler>(ev_loop*, ev_timer*, int)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/ev++.h:479:7
(libkrpc.so+0xbf95a)
#17 ev_invoke_pending
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/libev-4.20/ev.c:3155:11
(libev.so.4+0x97ec)
#18 ev_run
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/libev-4.20/ev.c:3555:7
(libev.so.4+0xa8fd)
#19 ev::loop_ref::run(int)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/ev++.h:211:7
(libkrpc.so+0xba938)
#20 kudu::rpc::ReactorThread::RunThread()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/reactor.cc:356:9
(libkrpc.so+0xb566a)
#21 boost::_mfi::mf0<void,
kudu::rpc::ReactorThread>::operator()(kudu::rpc::ReactorThread*) const
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/mem_fn_template.hpp:49:29
(libkrpc.so+0xbdbc6)
#22 void boost::_bi::list1<boost::_bi::value<kudu::rpc::ReactorThread*>
>::operator()<boost::_mfi::mf0<void, kudu::rpc::ReactorThread>,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void,
kudu::rpc::ReactorThread>&, boost::_bi::list0&, int)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/bind.hpp:259:9
(libkrpc.so+0xbdb1a)
#23 boost::_bi::bind_t<void, boost::_mfi::mf0<void,
kudu::rpc::ReactorThread>,
boost::_bi::list1<boost::_bi::value<kudu::rpc::ReactorThread*> >
>::operator()()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/bind.hpp:1222:16
(libkrpc.so+0xbdaa3)
#24
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf0<void, kudu::rpc::ReactorThread>,
boost::_bi::list1<boost::_bi::value<kudu::rpc::ReactorThread*> > >,
void>::invoke(boost::detail::function::function_buffer&)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/function/function_template.hpp:159:11
(libkrpc.so+0xbd8a9)
#25 boost::function0<void>::operator()() const
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/function/function_template.hpp:770:14
(libkrpc.so+0xb1391)
#26 kudu::Thread::SuperviseThread(void*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.cc:591:3
(libkudu_util.so+0x1ba91e)
As if synchronized via sleep:
#0 nanosleep
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:357
(raft_consensus-itest+0x49e017)
#1 boost::detail::yield(unsigned int)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/smart_ptr/detail/yield_k.hpp:151:9
(libmaster.so+0xd1ff6)
#2 kudu::Thread::StartThread(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&, boost::function<void ()> const&, unsigned
long, scoped_refptr<kudu::Thread>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.cc:545:7
(libkudu_util.so+0x1ba301)
#3 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(bool),
kudu::ThreadPool*, bool>(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&, void (kudu::ThreadPool::* const&)(bool),
kudu::ThreadPool* const&, bool const&, scoped_refptr<kudu::Thread>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.h:164:12
(libkudu_util.so+0x1c4916)
#4 kudu::ThreadPool::CreateThreadUnlocked()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:694:14
(libkudu_util.so+0x1c22f1)
#5 kudu::ThreadPool::DoSubmit(std::__1::shared_ptr<kudu::Runnable>,
kudu::ThreadPoolToken*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:491:21
(libkudu_util.so+0x1c07b1)
#6 kudu::ThreadPool::Submit(std::__1::shared_ptr<kudu::Runnable>)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:452:10
(libkudu_util.so+0x1c260f)
#7 kudu::ThreadPool::SubmitFunc(boost::function<void ()>)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:448:10
(libkudu_util.so+0x1c26a9)
#8 kudu::DnsResolver::ResolveAddresses(kudu::HostPort const&,
std::__1::vector<kudu::Sockaddr, std::__1::allocator<kudu::Sockaddr> >*,
kudu::Callback<void (kudu::Status const&)> const&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/net/dns_resolver.cc:57:21
(libkudu_util.so+0x1864ab)
#9
kudu::client::internal::RemoteTabletServer::InitProxy(kudu::client::KuduClient*,
kudu::Callback<void (kudu::Status const&)> const&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/meta_cache.cc:133:33
(libkudu_client.so+0xf8bf3)
#10
kudu::client::KuduClient::Data::GetTabletServer(kudu::client::KuduClient*,
scoped_refptr<kudu::client::internal::RemoteTablet> const&,
kudu::client::KuduClient::ReplicaSelection,
std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, std::__1::less<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&,
std::__1::vector<kudu::client::internal::RemoteTabletServer*,
std::__1::allocator<kudu::client::internal::RemoteTabletServer*> >*,
kudu::client::internal::RemoteTabletServer**)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/client-internal.cc:423:8
(libkudu_client.so+0xd71f9)
#11
kudu::client::KuduScanner::Data::OpenTablet(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&, kudu::MonoTime
const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, std::__1::less<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> > > >*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/scanner-internal.cc:389:53
(libkudu_client.so+0x11ca33)
#12 kudu::client::KuduScanner::Data::OpenNextTablet(kudu::MonoTime const&,
std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, std::__1::less<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> > > >*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/scanner-internal.cc:244:10
(libkudu_client.so+0x11c1ef)
#13 kudu::client::KuduScanner::Open()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/client.cc:1331:3
(libkudu_client.so+0xc287d)
#14 kudu::ClusterVerifier::DoCheckRowCount(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
kudu::ClusterVerifier::ComparisonMode, int)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/cluster_verifier.cc:138:3
(libintegration-tests.so+0x574b4)
#15 kudu::ClusterVerifier::CheckRowCount(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
kudu::ClusterVerifier::ComparisonMode, int)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/cluster_verifier.cc:116:3
(libintegration-tests.so+0x57138)
#16
kudu::tserver::TabletServerIntegrationTestBase::AssertAllReplicasAgree(int)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/ts_itest-base.h:523:5
(raft_consensus-itest+0x53ca2f)
#17
kudu::tserver::RaftConsensusITest_MultiThreadedInsertWithFailovers_Test::TestBody()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/raft_consensus-itest.cc:1096:3
(raft_consensus-itest+0x5100cb)
#18 void
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x52b39)
#19 void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x52b39)
#20 testing::Test::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2474:5
(libgmock.so+0x32b97)
#21 testing::TestInfo::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2656:11
(libgmock.so+0x34036)
#22 testing::TestCase::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
(libgmock.so+0x34da6)
#23 testing::internal::UnitTestImpl::RunAllTests()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
(libgmock.so+0x40896)
#24 bool
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x53a19)
#25 bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x53a19)
#26 testing::UnitTest::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
(libgmock.so+0x402e1)
#27 RUN_ALL_TESTS()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
(libkudu_test_main.so+0x33db)
#28 main
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/test_main.cc:104:13
(libkudu_test_main.so+0x2b96)
Location is heap block of size 504 at 0x7b5000006a00 allocated by main thread:
#0 operator new(unsigned long)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:41
(raft_consensus-itest+0x5028f3)
#1 kudu::ThreadPoolBuilder::Build(gscoped_ptr<kudu::ThreadPool,
kudu::DefaultDeleter<kudu::ThreadPool> >*) const
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:124:15
(libkudu_util.so+0x1bfaba)
#2 kudu::DnsResolver::DnsResolver()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/net/dns_resolver.cc:38:3
(libkudu_util.so+0x186270)
#3
kudu::client::KuduClientBuilder::Build(std::__1::shared_ptr<kudu::client::KuduClient>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/client.cc:315:37
(libkudu_client.so+0xbb81f)
#4
kudu::tserver::TabletServerIntegrationTestBase::CreateClient(std::__1::shared_ptr<kudu::client::KuduClient>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/ts_itest-base.h:488:5
(raft_consensus-itest+0x545f82)
#5
kudu::tserver::TabletServerIntegrationTestBase::BuildAndStart(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&,
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&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/ts_itest-base.h:513:5
(raft_consensus-itest+0x53b576)
#6
kudu::tserver::RaftConsensusITest_MultiThreadedInsertWithFailovers_Test::TestBody()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/raft_consensus-itest.cc:1055:3
(raft_consensus-itest+0x50f8fd)
#7 void
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x52b39)
#8 void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x52b39)
#9 testing::Test::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2474:5
(libgmock.so+0x32b97)
#10 testing::TestInfo::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2656:11
(libgmock.so+0x34036)
#11 testing::TestCase::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
(libgmock.so+0x34da6)
#12 testing::internal::UnitTestImpl::RunAllTests()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
(libgmock.so+0x40896)
#13 bool
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x53a19)
#14 bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x53a19)
#15 testing::UnitTest::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
(libgmock.so+0x402e1)
#16 RUN_ALL_TESTS()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
(libkudu_test_main.so+0x33db)
#17 main
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/test_main.cc:104:13
(libkudu_test_main.so+0x2b96)
Thread T33 'rpc reactor-160' (tid=16071, running) created by main thread at:
#0 pthread_create
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897
(raft_consensus-itest+0x4a2703)
#1 kudu::Thread::StartThread(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&, boost::function<void ()> const&, unsigned
long, scoped_refptr<kudu::Thread>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.cc:514:15
(libkudu_util.so+0x1ba117)
#2 kudu::Status kudu::Thread::Create<void (kudu::rpc::ReactorThread::*)(),
kudu::rpc::ReactorThread*>(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&, void (kudu::rpc::ReactorThread::*
const&)(), kudu::rpc::ReactorThread* const&, scoped_refptr<kudu::Thread>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.h:158:12
(libkrpc.so+0xba1d5)
#3 kudu::rpc::ReactorThread::Init()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/reactor.cc:129:10
(libkrpc.so+0xb54c5)
#4 kudu::rpc::Reactor::Init()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/reactor.cc:594:18
(libkrpc.so+0xb9461)
#5 kudu::rpc::Messenger::Init()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/messenger.cc:515:5
(libkrpc.so+0xa0f32)
#6
kudu::rpc::MessengerBuilder::Build(std::__1::shared_ptr<kudu::rpc::Messenger>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/rpc/messenger.cc:286:3
(libkrpc.so+0xa0525)
#7
kudu::client::KuduClientBuilder::Build(std::__1::shared_ptr<kudu::client::KuduClient>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/client/client.cc:295:3
(libkudu_client.so+0xbb55f)
#8
kudu::tserver::TabletServerIntegrationTestBase::CreateClient(std::__1::shared_ptr<kudu::client::KuduClient>*)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/ts_itest-base.h:488:5
(raft_consensus-itest+0x545f82)
#9
kudu::tserver::TabletServerIntegrationTestBase::BuildAndStart(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&,
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&)
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/ts_itest-base.h:513:5
(raft_consensus-itest+0x53b576)
#10
kudu::tserver::RaftConsensusITest_MultiThreadedInsertWithFailovers_Test::TestBody()
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/integration-tests/raft_consensus-itest.cc:1055:3
(raft_consensus-itest+0x50f8fd)
#11 void
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x52b39)
#12 void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x52b39)
#13 testing::Test::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2474:5
(libgmock.so+0x32b97)
#14 testing::TestInfo::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2656:11
(libgmock.so+0x34036)
#15 testing::TestCase::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
(libgmock.so+0x34da6)
#16 testing::internal::UnitTestImpl::RunAllTests()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
(libgmock.so+0x40896)
#17 bool
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
(libgmock.so+0x53a19)
#18 bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
(libgmock.so+0x53a19)
#19 testing::UnitTest::Run()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
(libgmock.so+0x402e1)
#20 RUN_ALL_TESTS()
/home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
(libkudu_test_main.so+0x33db)
#21 main
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/test_main.cc:104:13
(libkudu_test_main.so+0x2b96)
SUMMARY: ThreadSanitizer: data race
/home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/condition_variable.cc:57:12
in kudu::ConditionVariable::~ConditionVariable()
{code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)