[ https://issues.apache.org/jira/browse/IMPALA-9455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17049964#comment-17049964 ]
Tim Armstrong commented on IMPALA-9455: --------------------------------------- It looks like this only happens if kudu::security::InitKerberosForServer() is called multiple times. In an Impala daemon, I think this is avoided because this is only called for the internal auth provider (needs_kinit_ == is_internal_). But the backend tests call this multiple times. > Possible data race in kudu::security::InitKerberosForServer > ----------------------------------------------------------- > > Key: IMPALA-9455 > URL: https://issues.apache.org/jira/browse/IMPALA-9455 > Project: IMPALA > Issue Type: Sub-task > Reporter: Sahil Takiar > Priority: Major > > TSAN reports the following race in {{RpcMgrKerberizedTest.AuthorizationFail}} > {code} > WARNING: ThreadSanitizer: data race (pid=9892) > Write of size 8 at 0x0000076700c8 by main thread: > #0 kudu::security::InitKerberosForServer(std::string const&, std::string > const&, std::string const&, bool) Impala/be/src/kudu/security/init.cc:488:15 > (rpc-mgr-kerberized-test+0x1d5a627) > #1 impala::SecureAuthProvider::Start() > Impala/be/src/rpc/authentication.cc:947:5 (rpc-mgr-kerberized-test+0x1b0056b) > #2 impala::AuthManager::Init() > Impala/be/src/rpc/authentication.cc:1269:3 (rpc-mgr-kerberized-test+0x1afedc3) > #3 impala::InitAuth(std::string const&) > Impala/be/src/rpc/authentication.cc:781:3 (rpc-mgr-kerberized-test+0x1afdb2f) > #4 impala::RpcMgrKerberizedTest::SetUp() > Impala/be/src/rpc/rpc-mgr-kerberized-test.cc:49:5 > (rpc-mgr-kerberized-test+0x1949e01) > #5 void > testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, > void>(testing::Test*, void (testing::Test::*)(), char const*) <null> > (rpc-mgr-kerberized-test+0x4191f72) > #6 __libc_start_main <null> (libc.so.6+0x21c04) > > Previous read of size 8 at 0x0000076700c8 by thread T42: > #0 kudu::security::(anonymous namespace)::RenewThread() > Impala/be/src/kudu/security/init.cc:205:37 (rpc-mgr-kerberized-test+0x1d5b020) > #1 boost::detail::function::void_function_invoker0<void (*)(), > void>::invoke(boost::detail::function::function_buffer&) > Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:112:11 > (rpc-mgr-kerberized-test+0x195fc9b) > #2 boost::function0<void>::operator()() const > Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (rpc-mgr-kerberized-test+0x19e2031) > #3 kudu::Thread::SuperviseThread(void*) > Impala/be/src/kudu/util/thread.cc:675:3 (rpc-mgr-kerberized-test+0x19dfc3a) > > Location is global 'kudu::security::(anonymous namespace)::g_kinit_ctx' of > size 8 at 0x0000076700c8 (rpc-mgr-kerberized-test+0x0000076700c8) > > Thread T42 'reacquire threa' (tid=9953, running) created by main thread at: > #0 pthread_create > /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 > (rpc-mgr-kerberized-test+0x18da63b) > #1 kudu::Thread::StartThread(std::string const&, std::string const&, > boost::function<void ()> const&, unsigned long, scoped_refptr<kudu::Thread>*) > Impala/be/src/kudu/util/thread.cc:619:15 (rpc-mgr-kerberized-test+0x19df4d0) > #2 kudu::Status kudu::Thread::Create<void (*)()>(std::string const&, > std::string const&, void (* const&)(), scoped_refptr<kudu::Thread>*) > Impala/be/src/kudu/util/thread.h:158:12 (rpc-mgr-kerberized-test+0x1d5c956) > #3 kudu::security::InitKerberosForServer(std::string const&, std::string > const&, std::string const&, bool) Impala/be/src/kudu/security/init.cc:497:3 > (rpc-mgr-kerberized-test+0x1d5a743) > #4 impala::SecureAuthProvider::Start() > Impala/be/src/rpc/authentication.cc:947:5 (rpc-mgr-kerberized-test+0x1b0056b) > #5 impala::AuthManager::Init() > Impala/be/src/rpc/authentication.cc:1269:3 (rpc-mgr-kerberized-test+0x1afedc3) > #6 impala::InitAuth(std::string const&) > Impala/be/src/rpc/authentication.cc:781:3 (rpc-mgr-kerberized-test+0x1afdb2f) > #7 impala::RpcMgrKerberizedTest::SetUp() > Impala/be/src/rpc/rpc-mgr-kerberized-test.cc:49:5 > (rpc-mgr-kerberized-test+0x1949e01) > #8 void > testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, > void>(testing::Test*, void (testing::Test::*)(), char const*) <null> > (rpc-mgr-kerberized-test+0x4191f72) > #9 __libc_start_main <null> (libc.so.6+0x21c04) > > SUMMARY: ThreadSanitizer: data race > Impala/be/src/kudu/security/init.cc:488:15 in > kudu::security::InitKerberosForServer(std::string const&, std::string const&, > std::string const&, bool) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org