[ 
https://issues.apache.org/jira/browse/IMPALA-9307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17019822#comment-17019822
 ] 

Sahil Takiar commented on IMPALA-9307:
--------------------------------------

Similar data race:

{code}
WARNING: ThreadSanitizer: data race (pid=15195)
  Read of size 1 at 0x00000754bef7 by thread T109:
   #0 kudu::rpc::RpcContext::RpcContext(kudu::rpc::InboundCall*, 
google::protobuf::Message const*, google::protobuf::Message*, 
scoped_refptr<kudu::rpc::ResultTracker>) 
/home/systest/Impala/be/src/kudu/rpc/rpc_context.cc:59:621 (impalad+0x2706cb0)
   #1 kudu::rpc::GeneratedServiceIf::Handle(kudu::rpc::InboundCall*) 
/home/systest/Impala/be/src/kudu/rpc/service_if.cc:116:25 (impalad+0x2728cc3)
   #2 impala::ImpalaServicePool::RunThread() 
/home/systest/Impala/be/src/rpc/impala-service-pool.cc:272:15 
(impalad+0x1dc866f)
   #3 boost::_mfi::mf0<void, 
impala::ImpalaServicePool>::operator()(impala::ImpalaServicePool*) const 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:49:16
 (impalad+0x1dce846)
   #4 void boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> 
>::operator()<boost::_mfi::mf0<void, impala::ImpalaServicePool>, 
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
impala::ImpalaServicePool>&, boost::_bi::list0&, int) /home/sys 
test/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:253:9 
(impalad+0x1dce79a)
   #5 boost::_bi::bind_t<void, boost::_mfi::mf0<void, 
impala::ImpalaServicePool>, 
boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > 
>::operator()() 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:16
 (impalad+0x1dce 723)
   #6 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf0<void, impala::ImpalaServicePool>, 
boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > >, 
void>::invoke(boost::detail::function::function_buffer&) /home/sys 
test/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11
 (impalad+0x1dce519)
   #7 boost::function0<void>::operator()() const 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14
 (impalad+0x1cb9661)
   #8 impala::Thread::SuperviseThread(std::string const&, std::string const&, 
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, 
(impala::PromiseMode)0>*) /home/systest/Impala/be/src/util/thread.cc:360:3 
(impalad+0x2245e96)
   #9 void boost::_bi::list5<boost::_bi::value<std::string>, 
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
boost::_bi::value<impala::ThreadDebugInfo*>, 
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
>::operator()<void  (*)(std::string const&, std::string const&, 
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, 
(impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void 
(*&)(std::string const&, std::string const&, boost::function<void ()>, 
impala::ThreadDebugInfo const*, impala::Promise<long, 
(impala::PromiseMode)0>*), boost::_bi::list0&, int) 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9
 (impalad+0x224df4c)
   #10 boost::_bi::bind_t<void, void (*)(std::string const&, std::string 
const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
impala::Promise<long, (impala::PromiseMode)0>*), 
boost::_bi::list5<boost::_bi::value<std::string>, 
boost::_bi::value<std::string>,  boost::_bi::value<boost::function<void ()> >, 
boost::_bi::value<impala::ThreadDebugInfo*>, 
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > 
>::operator()() 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:16
 (impalad+0x224de63)
   #11 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string 
const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo 
const*, impala::Promise<long, (impala::PromiseMode)0>*), 
boost::_bi::list5<boost::_bi::value<std::string>, boos 
t::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
boost::_bi::value<impala::ThreadDebugInfo*>, 
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run() 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17
 (impalad+0x224db50)
   #12 thread_proxy <null> (impalad+0x2f1cbc9)

  Previous write of size 1 at 0x00000754bef7 by thread T110:
   #0 kudu::debug::TraceLog::UpdateCategoryGroupEnabledFlag(int) 
/home/systest/Impala/be/src/kudu/util/debug/trace_event_impl.cc:1201:44 
(impalad+0x1d51e72)
   #1 kudu::debug::TraceLog::GetCategoryGroupEnabledInternal(char const*) 
/home/systest/Impala/be/src/kudu/util/debug/trace_event_impl.cc:1281:5 
(impalad+0x1d51c2c)
   #2 kudu::debug::TraceLog::GetCategoryGroupEnabled(char const*) 
/home/systest/Impala/be/src/kudu/util/debug/trace_event_impl.cc:1170:20 
(impalad+0x1d503f9)
   #3 kudu::rpc::RpcContext::RpcContext(kudu::rpc::InboundCall*, 
google::protobuf::Message const*, google::protobuf::Message*, 
scoped_refptr<kudu::rpc::ResultTracker>) 
/home/systest/Impala/be/src/kudu/rpc/rpc_context.cc:59:394 (impalad+0x2706cd5)
   #4 kudu::rpc::GeneratedServiceIf::Handle(kudu::rpc::InboundCall*) 
/home/systest/Impala/be/src/kudu/rpc/service_if.cc:116:25 (impalad+0x2728cc3)
   #5 impala::ImpalaServicePool::RunThread() 
/home/systest/Impala/be/src/rpc/impala-service-pool.cc:272:15 
(impalad+0x1dc866f)
   #6 boost::_mfi::mf0<void, 
impala::ImpalaServicePool>::operator()(impala::ImpalaServicePool*) const 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:49:16
 (impalad+0x1dce846)
   #7 void boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> 
>::operator()<boost::_mfi::mf0<void, impala::ImpalaServicePool>, 
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
impala::ImpalaServicePool>&, boost::_bi::list0&, int) /home/sys 
test/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:253:9 
(impalad+0x1dce79a)
   #8 boost::_bi::bind_t<void, boost::_mfi::mf0<void, 
impala::ImpalaServicePool>, 
boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > 
>::operator()() 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:16
 (impalad+0x1dce
723)
   #9 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf0<void, impala::ImpalaServicePool>, 
boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > >, 
void>::invoke(boost::detail::function::function_buffer&) /home/sys 
test/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11
 (impalad+0x1dce519)
   #10 boost::function0<void>::operator()() const 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14
 (impalad+0x1cb9661)
   #11 impala::Thread::SuperviseThread(std::string const&, std::string const&, 
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, 
(impala::PromiseMode)0>*) /home/systest/Impala/be/src/util/thread.cc:360:3 
(impalad+0x2245e96)
   #12 void boost::_bi::list5<boost::_bi::value<std::string>, 
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
boost::_bi::value<impala::ThreadDebugInfo*>, 
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
>::operator()<void  (*)(std::string const&, std::string const&, 
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, 
(impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void 
(*&)(std::string const&, std::string const&, boost::function<void ()>, 
impala::ThreadDebugInfo const*, impala::Promise<long, 
(impala::PromiseMode)0>*), boost::_bi::list0&, int) 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9
 (impalad+0x224df4c)
   #13 boost::_bi::bind_t<void, void (*)(std::string const&, std::string 
const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
impala::Promise<long, (impala::PromiseMode)0>*), 
boost::_bi::list5<boost::_bi::value<std::string>, 
boost::_bi::value<std::string>,  boost::_bi::value<boost::function<void ()> >, 
boost::_bi::value<impala::ThreadDebugInfo*>, 
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > 
>::operator()() 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:16
 (impalad+0x224de63)
   #14 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string 
const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo 
const*, impala::Promise<long, (impala::PromiseMode)0>*), 
boost::_bi::list5<boost::_bi::value<std::string>, boos 
t::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
boost::_bi::value<impala::ThreadDebugInfo*>, 
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run() 
/home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17
 (impalad+0x224db50)
   #15 thread_proxy <null> (impalad+0x2f1cbc9)
{code}

> TSAN data race in kudu::Socket::Accept and 
> TraceLog::UpdateCategoryGroupEnabledFlag
> -----------------------------------------------------------------------------------
>
>                 Key: IMPALA-9307
>                 URL: https://issues.apache.org/jira/browse/IMPALA-9307
>             Project: IMPALA
>          Issue Type: Sub-task
>          Components: Backend
>            Reporter: Sahil Takiar
>            Priority: Major
>
> Several backend tests hit this error in a TSAN build:
> {code:java}
> WARNING: ThreadSanitizer: data race (pid=31934)                               
>                                                                               
>                                                                               
>                         [2227/29764]
>   Read of size 1 at 0x000007eed485 by thread T344:
>     #0 kudu::Socket::Accept(kudu::Socket*, kudu::Sockaddr*, int) 
> /home/systest/Impala/be/src/kudu/util/net/socket.cc:330:684 
> (unifiedbetests+0x3460726)
>     #1 kudu::rpc::AcceptorPool::RunThread() 
> /home/systest/Impala/be/src/kudu/rpc/acceptor_pool.cc:152:24 
> (unifiedbetests+0x3392bf1)
>     #2 boost::_mfi::mf0<void, 
> kudu::rpc::AcceptorPool>::operator()(kudu::rpc::AcceptorPool*) const 
> /home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:49:16
>  (unifiedbetests+0x33940f6)
>     #3 void boost::_bi::list1<boost::_bi::value<kudu::rpc::AcceptorPool*> 
> >::operator()<boost::_mfi::mf0<void, kudu::rpc::AcceptorPool>, 
> boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
> kudu::rpc::AcceptorPool>&, boost::_bi::list0&, int) /home/systest/I
> mpala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:253:9 
> (unifiedbetests+0x339404a)
>     #4 boost::_bi::bind_t<void, boost::_mfi::mf0<void, 
> kudu::rpc::AcceptorPool>, 
> boost::_bi::list1<boost::_bi::value<kudu::rpc::AcceptorPool*> > 
> >::operator()() 
> /home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:16
>  (unifiedbetests+0x3
> 393fd3)
>     #5 
> boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
> boost::_mfi::mf0<void, kudu::rpc::AcceptorPool>, 
> boost::_bi::list1<boost::_bi::value<kudu::rpc::AcceptorPool*> > >, 
> void>::invoke(boost::detail::function::function_buffer&) /home/systest
> /Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11
>  (unifiedbetests+0x3393dc9)
>     #6 boost::function0<void>::operator()() const 
> /home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14
>  (unifiedbetests+0x2c22491)
>     #7 kudu::Thread::SuperviseThread(void*) 
> /home/systest/Impala/be/src/kudu/util/thread.cc:603:3 
> (unifiedbetests+0x2c20789)
>  Previous write of size 1 at 0x000007eed485 by thread T343:
>     #0 kudu::debug::TraceLog::UpdateCategoryGroupEnabledFlag(int) 
> /home/systest/Impala/be/src/kudu/util/debug/trace_event_impl.cc:1201:44 
> (unifiedbetests+0x2bf42e2)
>     #1 kudu::debug::TraceLog::GetCategoryGroupEnabledInternal(char const*) 
> /home/systest/Impala/be/src/kudu/util/debug/trace_event_impl.cc:1281:5 
> (unifiedbetests+0x2bf409c)
>     #2 kudu::debug::TraceLog::GetCategoryGroupEnabled(char const*) 
> /home/systest/Impala/be/src/kudu/util/debug/trace_event_impl.cc:1170:20 
> (unifiedbetests+0x2bf2869)
>     #3 kudu::Socket::Accept(kudu::Socket*, kudu::Sockaddr*, int) 
> /home/systest/Impala/be/src/kudu/util/net/socket.cc:330:395 
> (unifiedbetests+0x34608b8)
>     #4 kudu::rpc::AcceptorPool::RunThread() 
> /home/systest/Impala/be/src/kudu/rpc/acceptor_pool.cc:152:24 
> (unifiedbetests+0x3392bf1)
>     #5 boost::_mfi::mf0<void, 
> kudu::rpc::AcceptorPool>::operator()(kudu::rpc::AcceptorPool*) const 
> /home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:49:16
>  (unifiedbetests+0x33940f6)
>     #6 void boost::_bi::list1<boost::_bi::value<kudu::rpc::AcceptorPool*> 
> >::operator()<boost::_mfi::mf0<void, kudu::rpc::AcceptorPool>, 
> boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
> kudu::rpc::AcceptorPool>&, boost::_bi::list0&, int) /home/systest/I
> mpala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:253:9 
> (unifiedbetests+0x339404a)
>     #7 boost::_bi::bind_t<void, boost::_mfi::mf0<void, 
> kudu::rpc::AcceptorPool>, 
> boost::_bi::list1<boost::_bi::value<kudu::rpc::AcceptorPool*> > 
> >::operator()() 
> /home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:16
>  (unifiedbetests+0x3
> 393fd3)
>     #8 
> boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
> boost::_mfi::mf0<void, kudu::rpc::AcceptorPool>, 
> boost::_bi::list1<boost::_bi::value<kudu::rpc::AcceptorPool*> > >, 
> void>::invoke(boost::detail::function::function_buffer&) /home/systest
> /Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11
>  (unifiedbetests+0x3393dc9)
>     #9 boost::function0<void>::operator()() const 
> /home/systest/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14
>  (unifiedbetests+0x2c22491)
>     #10 kudu::Thread::SuperviseThread(void*) 
> /home/systest/Impala/be/src/kudu/util/thread.cc:603:3 
> (unifiedbetests+0x2c20789)  Location is global 'kudu::debug::(anonymous 
> namespace)::g_category_group_enabled' of size 100 at 0x000007eed480 
> (unifiedbetests+0x000007eed485)  Thread T344 'acceptor-32306' (tid=32306, 
> running) created by main thread at:
>    #0 pthread_create 
> /mnt/source/llvm/llvm-5.0.1.src-p1/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889
>  (unifiedbetests+0x1b1b5ab)
>     #1 kudu::Thread::StartThread(std::string const&, std::string const&, 
> boost::function<void ()> const&, unsigned long, scoped_refptr<kudu::Thread>*) 
> /home/systest/Impala/be/src/kudu/util/thread.cc:556:15 
> (unifiedbetests+0x2c201f5)
>     #2 kudu::Status kudu::Thread::Create<void (kudu::rpc::AcceptorPool::*)(), 
> kudu::rpc::AcceptorPool*>(std::string const&, std::string const&, void 
> (kudu::rpc::AcceptorPool::* const&)(), kudu::rpc::AcceptorPool* const&, 
> scoped_refptr<kudu::Thread>*) /home/systest/Impal
> a/be/src/kudu/util/thread.h:164:12 (unifiedbetests+0x33933e5)
>     #3 kudu::rpc::AcceptorPool::Start(int) 
> /home/systest/Impala/be/src/kudu/rpc/acceptor_pool.cc:85:16 
> (unifiedbetests+0x339293c)
>     #4 impala::RpcMgr::StartServices() 
> /home/systest/Impala/be/src/rpc/rpc-mgr.cc:216:50 (unifiedbetests+0x33bd4b8)
>     #5 impala::ExecEnv::StartKrpcService() 
> /home/systest/Impala/be/src/runtime/exec-env.cc:541:53 
> (unifiedbetests+0x2ccd02a)
>     #6 impala::ImpalaServer::Start(int, int, int, int) 
> /home/systest/Impala/be/src/service/impala-server.cc:2467:54 
> (unifiedbetests+0x2ebf3dc)
>     #7 impala::InProcessImpalaServer::StartWithClientServers(int, int, int) 
> /home/systest/Impala/be/src/testutil/in-process-servers.cc:88:59 
> (unifiedbetests+0x2fb0042)
>     #8 impala::InProcessImpalaServer::StartWithEphemeralPorts(std::string 
> const&, int, impala::InProcessImpalaServer**) 
> /home/systest/Impala/be/src/testutil/in-process-servers.cc:60:21 
> (unifiedbetests+0x2faff19)
>     #9 impala::ExprTest::SetUpTestCase() 
> /home/systest/Impala/be/src/exprs/expr-test.cc:228:45 
> (unifiedbetests+0x1cf1948)
>     #10 testing::TestCase::Run() <null> (unifiedbetests+0x4726e42)
>     #11 __libc_start_main 
> /build/glibc-LK5gWL/glibc-2.23/csu/../csu/libc-start.c:291 (libc.so.6+0x2082f)
>   Thread T343 'acceptor-32305' (tid=32305, running) created by main thread at:
>     #0 pthread_create 
> /mnt/source/llvm/llvm-5.0.1.src-p1/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889
>  (unifiedbetests+0x1b1b5ab)
>     #1 kudu::Thread::StartThread(std::string const&, std::string const&, 
> boost::function<void ()> const&, unsigned long, scoped_refptr<kudu::Thread>*) 
> /home/systest/Impala/be/src/kudu/util/thread.cc:556:15 
> (unifiedbetests+0x2c201f5)
>     #2 kudu::Status kudu::Thread::Create<void (kudu::rpc::AcceptorPool::*)(), 
> kudu::rpc::AcceptorPool*>(std::string const&, std::string const&, void 
> (kudu::rpc::AcceptorPool::* const&)(), kudu::rpc::AcceptorPool* const&, 
> scoped_refptr<kudu::Thread>*) /home/systest/Impal
> a/be/src/kudu/util/thread.h:164:12 (unifiedbetests+0x33933e5)
>     #3 kudu::rpc::AcceptorPool::Start(int) 
> /home/systest/Impala/be/src/kudu/rpc/acceptor_pool.cc:85:16 
> (unifiedbetests+0x339293c)
>     #4 impala::RpcMgr::StartServices() 
> /home/systest/Impala/be/src/rpc/rpc-mgr.cc:216:50 (unifiedbetests+0x33bd4b8)
>     #5 impala::ExecEnv::StartKrpcService() 
> /home/systest/Impala/be/src/runtime/exec-env.cc:541:53 
> (unifiedbetests+0x2ccd02a)
>     #6 impala::ImpalaServer::Start(int, int, int, int) 
> /home/systest/Impala/be/src/service/impala-server.cc:2467:54 
> (unifiedbetests+0x2ebf3dc)
>     #7 impala::InProcessImpalaServer::StartWithClientServers(int, int, int) 
> /home/systest/Impala/be/src/testutil/in-process-servers.cc:88:59 
> (unifiedbetests+0x2fb0042)
>     #8 impala::InProcessImpalaServer::StartWithEphemeralPorts(std::string 
> const&, int, impala::InProcessImpalaServer**) 
> /home/systest/Impala/be/src/testutil/in-process-servers.cc:60:21 
> (unifiedbetests+0x2faff19)
>     #9 impala::ExprTest::SetUpTestCase() 
> /home/systest/Impala/be/src/exprs/expr-test.cc:228:45 
> (unifiedbetests+0x1cf1948)
>     #10 testing::TestCase::Run() <null> (unifiedbetests+0x4726e42)
>     #11 __libc_start_main 
> /build/glibc-LK5gWL/glibc-2.23/csu/../csu/libc-start.c:291 
> (libc.so.6+0x2082f)SUMMARY: ThreadSanitizer: data race 
> /home/systest/Impala/be/src/kudu/util/net/socket.cc:330:684 in 
> kudu::Socket::Accept(kudu::Socket*, kudu::Sockaddr*, int) {code}
> expr-test, data-stream-test, session-expiry-test, and rpc-mgr-test all hit 
> this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to