[
https://issues.apache.org/jira/browse/KUDU-2430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grant Henke updated KUDU-2430:
------------------------------
Component/s: test
> Flaky test security-itest
> -------------------------
>
> Key: KUDU-2430
> URL: https://issues.apache.org/jira/browse/KUDU-2430
> Project: Kudu
> Issue Type: Test
> Components: security, test
> Affects Versions: 1.7.0
> Reporter: Hao Hao
> Priority: Major
> 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
(v8.3.4#803005)