Hao Hao created KUDU-2430:
-----------------------------

             Summary: Flaky test security-itest
                 Key: KUDU-2430
                 URL: https://issues.apache.org/jira/browse/KUDU-2430
             Project: Kudu
          Issue Type: Test
          Components: security
    Affects Versions: 1.7.0
            Reporter: Hao Hao
         Attachments: security-itest.txt

While running on master branch, security-itest failed with 'WARNING: 
ThreadSanitizer: data race'. Attached the full log.

{noformat}

WARNING: ThreadSanitizer: data race (pid=785)
 Write of size 8 at 0x7b0800000d68 by main thread:
 #0 operator delete(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:119
 (security-itest+0x4eb7a1)
 #1 std::__1::__libcpp_deallocate(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/new:236:3
 (libkrpc.so+0x8d8ba)
 #2 std::__1::allocator<std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*> 
>::deallocate(std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*, 
unsigned long) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/memory:1796
 (libkrpc.so+0x8d8ba)
 #3 
std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<kudu::rpc::RpcFeatureFlag,
 void*> > 
>::deallocate(std::__1::allocator<std::__1::__tree_node<kudu::rpc::RpcFeatureFlag,
 void*> >&, std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*, unsigned 
long) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/memory:1555
 (libkrpc.so+0x8d8ba)
 #4 std::__1::__tree<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> 
>::destroy(std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__tree:1834
 (libkrpc.so+0x8d8ba)
 #5 std::__1::__tree<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> >::~__tree() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__tree:1821:3
 (libkrpc.so+0x8d856)
 #6 std::__1::set<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> >::~set() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/set:400:28
 (libkrpc.so+0x8bc79)
 #7 cxa_at_exit_wrapper(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:386
 (security-itest+0x44c2b3)

Previous read of size 8 at 0x7b0800000d68 by thread T5:
 #0 std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>* 
std::__1::__tree_next_iter<std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>*,
 std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__tree:185:14
 (libkrpc.so+0x90356)
 #1 std::__1::__tree_const_iterator<kudu::rpc::RpcFeatureFlag, 
std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*, long>::operator++() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__tree:921
 (libkrpc.so+0x90356)
 #2 void std::__1::__tree<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> 
>::__assign_multi<std::__1::__tree_const_iterator<kudu::rpc::RpcFeatureFlag, 
std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*, long> 
>(std::__1::__tree_const_iterator<kudu::rpc::RpcFeatureFlag, 
std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*, long>, 
std::__1::__tree_const_iterator<kudu::rpc::RpcFeatureFlag, 
std::__1::__tree_node<kudu::rpc::RpcFeatureFlag, void*>*, long>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__tree:1667
 (libkrpc.so+0x90356)
 #3 std::__1::__tree<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> 
>::operator=(std::__1::__tree<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> > const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__tree:1575:9
 (libkrpc.so+0x901a4)
 #4 std::__1::set<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> 
>::operator=(std::__1::set<kudu::rpc::RpcFeatureFlag, 
std::__1::less<kudu::rpc::RpcFeatureFlag>, 
std::__1::allocator<kudu::rpc::RpcFeatureFlag> > const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/set:485:21
 (libkrpc.so+0x870ba)
 #5 kudu::rpc::ClientNegotiation::SendNegotiate() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/client_negotiation.cc:306
 (libkrpc.so+0x870ba)
 #6 
kudu::rpc::ClientNegotiation::Negotiate(std::__1::unique_ptr<kudu::rpc::ErrorStatusPB,
 std::__1::default_delete<kudu::rpc::ErrorStatusPB> >*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/client_negotiation.cc:171:5
 (libkrpc.so+0x8693a)
 #7 kudu::rpc::DoClientNegotiation(kudu::rpc::Connection*, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime, 
std::__1::unique_ptr<kudu::rpc::ErrorStatusPB, 
std::__1::default_delete<kudu::rpc::ErrorStatusPB> >*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/negotiation.cc:217:3
 (libkrpc.so+0xb02b4)
 #8 kudu::rpc::Negotiation::RunNegotiation(scoped_refptr<kudu::rpc::Connection> 
const&, kudu::TriStateFlag, kudu::TriStateFlag, kudu::MonoTime) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/negotiation.cc:294:9
 (libkrpc.so+0xaf42b)
 #9 kudu::internal::RunnableAdapter<void 
(*)(scoped_refptr<kudu::rpc::Connection> const&, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime)>::Run(scoped_refptr<kudu::rpc::Connection> 
const&, kudu::TriStateFlag const&, kudu::TriStateFlag const&, kudu::MonoTime 
const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:356:12
 (libkrpc.so+0xc853d)
 #10 kudu::internal::InvokeHelper<false, void, 
kudu::internal::RunnableAdapter<void (*)(scoped_refptr<kudu::rpc::Connection> 
const&, kudu::TriStateFlag, kudu::TriStateFlag, kudu::MonoTime)>, void 
()(kudu::rpc::Connection*, kudu::TriStateFlag const&, kudu::TriStateFlag 
const&, kudu::MonoTime const&)>::MakeItSo(kudu::internal::RunnableAdapter<void 
(*)(scoped_refptr<kudu::rpc::Connection> const&, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime)>, kudu::rpc::Connection*, 
kudu::TriStateFlag const&, kudu::TriStateFlag const&, kudu::MonoTime const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:925:14
 (libkrpc.so+0xc83df)
 #11 kudu::internal::Invoker<4, 
kudu::internal::BindState<kudu::internal::RunnableAdapter<void 
(*)(scoped_refptr<kudu::rpc::Connection> const&, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime)>, void 
()(scoped_refptr<kudu::rpc::Connection> const&, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime), void 
()(scoped_refptr<kudu::rpc::Connection>, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime)>, void 
()(scoped_refptr<kudu::rpc::Connection> const&, kudu::TriStateFlag, 
kudu::TriStateFlag, kudu::MonoTime)>::Run(kudu::internal::BindStateBase*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:1459:12
 (libkrpc.so+0xc8299)
 #12 kudu::Callback<void ()()>::Run() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/callback.h:396:12
 (libconsensus.so+0x9ed1d)
 #13 kudu::ClosureRunnable::Run() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:76:9
 (libkudu_util.so+0x1c8b3d)
 #14 kudu::ThreadPool::DispatchThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:686:22
 (libkudu_util.so+0x1c4868)
 #15 boost::_mfi::mf0<void, kudu::ThreadPool>::operator()(kudu::ThreadPool*) 
const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29
 (libkudu_util.so+0x1cf7d9)
 #16 void boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> 
>::operator()<boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
kudu::ThreadPool>&, boost::_bi::list0&, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9
 (libkudu_util.so+0x1cf72a)
 #17 boost::_bi::bind_t<void, boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> > >::operator()() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16
 (libkudu_util.so+0x1cf6b3)
 #18 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11
 (libkudu_util.so+0x1cf4a9)
 #19 boost::function0<void>::operator()() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14
 (libkrpc.so+0xb64b1)
 #20 kudu::Thread::SuperviseThread(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:603:3
 (libkudu_util.so+0x1bbfc4)

Thread T5 'client-negotiat' (tid=15200, finished) created by thread T3 at:
 #0 pthread_create 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:992
 (security-itest+0x47dceb)
 #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>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:556:15
 (libkudu_util.so+0x1bb9ef)
 #2 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(), 
kudu::ThreadPool*>(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&)(), kudu::ThreadPool* const&, 
scoped_refptr<kudu::Thread>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.h:164:12
 (libkudu_util.so+0x1c6b85)
 #3 kudu::ThreadPool::CreateThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:749:10
 (libkudu_util.so+0x1c3e72)
 #4 kudu::ThreadPool::DoSubmit(std::__1::shared_ptr<kudu::Runnable>, 
kudu::ThreadPoolToken*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:556:21
 (libkudu_util.so+0x1c263f)
 #5 kudu::ThreadPool::Submit(std::__1::shared_ptr<kudu::Runnable>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:458:10
 (libkudu_util.so+0x1c40df)
 #6 kudu::ThreadPool::SubmitClosure(kudu::Callback<void ()()>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:450:10
 (libkudu_util.so+0x1c4021)
 #7 
kudu::rpc::ReactorThread::StartConnectionNegotiation(scoped_refptr<kudu::rpc::Connection>
 const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:582:3
 (libkrpc.so+0xbdf93)
 #8 kudu::rpc::ReactorThread::FindOrStartConnection(kudu::rpc::ConnectionId 
const&, kudu::rpc::CredentialsPolicy, scoped_refptr<kudu::rpc::Connection>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:552:14
 (libkrpc.so+0xbe876)
 #9 
kudu::rpc::ReactorThread::AssignOutboundCall(std::__1::shared_ptr<kudu::rpc::OutboundCall>)
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:336:14
 (libkrpc.so+0xbe410)
 #10 kudu::rpc::AssignOutboundCallTask::Run(kudu::rpc::ReactorThread*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:841:14
 (libkrpc.so+0xc5d5b)
 #11 kudu::rpc::ReactorThread::AsyncHandler(ev::async&, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:310:10
 (libkrpc.so+0xbda51)
 #12 void ev::base<ev_async, ev::async>::method_thunk<kudu::rpc::ReactorThread, 
&(kudu::rpc::ReactorThread::AsyncHandler(ev::async&, int))>(ev_loop*, 
ev_async*, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/ev++.h:479:7
 (libkrpc.so+0xc6283)
 #13 ev_invoke_pending 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/libev-4.20/ev.c:3155:11
 (libev.so.4+0x9780)
 #14 kudu::rpc::ReactorThread::InvokePendingCb(ev_loop*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:176:3
 (libkrpc.so+0xbc855)
 #15 ev_run 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/libev-4.20/ev.c:3555:7
 (libev.so.4+0xa88d)
 #16 ev::loop_ref::run(int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/ev++.h:211:7
 (libkrpc.so+0xc2748)
 #17 kudu::rpc::ReactorThread::RunThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:471:9
 (libkrpc.so+0xbc99a)
 #18 boost::_mfi::mf0<void, 
kudu::rpc::ReactorThread>::operator()(kudu::rpc::ReactorThread*) const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29
 (libkrpc.so+0xc69e9)
 #19 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) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9
 (libkrpc.so+0xc693a)
 #20 boost::_bi::bind_t<void, boost::_mfi::mf0<void, kudu::rpc::ReactorThread>, 
boost::_bi::list1<boost::_bi::value<kudu::rpc::ReactorThread*> > 
>::operator()() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16
 (libkrpc.so+0xc68c3)
 #21 
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&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11
 (libkrpc.so+0xc66b9)
 #22 boost::function0<void>::operator()() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14
 (libkrpc.so+0xb64b1)
 #23 kudu::Thread::SuperviseThread(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:603:3
 (libkudu_util.so+0x1bbfc4)

SUMMARY: ThreadSanitizer: data race 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:119
 in operator delete(void*)

{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to