[
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]