[
https://issues.apache.org/jira/browse/IMPALA-9455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17065252#comment-17065252
]
ASF subversion and git services commented on IMPALA-9455:
---------------------------------------------------------
Commit 8b162ff480aa346d1d32830097586d681976e2d1 in impala's branch
refs/heads/master from Sahil Takiar
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=8b162ff ]
IMPALA-5904: (part 3) Fix more TSAN bugs
As of this commit, all backend tests are TSAN clean (or suppressions
exist for any races that are considered benign).
TSAN Fixes:
* Fixes IMPALA-9374: Possible data race in TupleDescriptor::GetLlvmStruct
* Replaces the assignment of llvm_field_idx_ with slot_idx_, since
they are the same; added a DCHECK to enforce this
* Data race in be/src/exprs/scalar-expr-evaluator.cc:285:26
impala::ScalarExprEvaluator::GetValue(...)
* This race seems specific to data-stream-test, and does not occur
during any other tests
* I made some changes to DataStreamTest to fix the sharing of
TupleRowComparators between threads
Suppresions:
* Added a suppresion for IMPALA-9455: Possible data race in
kudu::security::InitKerberosForServer
* Added suppresions for hs2-http-test since it uses the ThriftServer, which
is known to be racey (IMPALA-9314)
Testing:
* Ran exhaustive tests
* Re-ran TSAN tests and confirmed the data races have been fixed
Change-Id: I99b7b119e256085d1ba6977e1161fc658273b242
Reviewed-on: http://gerrit.cloudera.org:8080/15363
Tested-by: Impala Public Jenkins <[email protected]>
Reviewed-by: Tim Armstrong <[email protected]>
> 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: [email protected]
For additional commands, e-mail: [email protected]