You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2017/09/19 22:54:30 UTC

kudu git commit: master: fix TSAN data race on ToString()

Repository: kudu
Updated Branches:
  refs/heads/master adedbc746 -> a77c33d91


master: fix TSAN data race on ToString()

 WARNING: ThreadSanitizer: data race (pid=14563)
   Read of size 4 at 0x7fff3db0f228 by thread T59:
     #0 kudu::master::Master::ToString() const /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:109 (libmaster.so+0xe76bc)
     #1 kudu::master::Master::InitCatalogManagerTask() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:180 (discriminator 2) (libmaster.so+0xe87b5)
     #2 kudu::internal::RunnableAdapter<void (kudu::master::Master::*)()>::Run(kudu::master::Master*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/bind_internal.h:136 (discriminator 3) (libmaster.so+0xec6a6)
     #3 kudu::internal::InvokeHelper<false, void, kudu::internal::RunnableAdapter<void (kudu::master::Master::*)()>, void (kudu::master::Master*)>::MakeItSo(kudu::internal::RunnableAdapter<void (kudu::master::Master::*)()>, kudu::master::Master*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/bind_internal.h:873 (discriminator 1) (libmaster.so+0xec5c5)
     #4 kudu::internal::Invoker<1, kudu::internal::BindState<kudu::internal::RunnableAdapter<void (kudu::master::Master::*)()>, void (kudu::master::Master*), void (kudu::internal::UnretainedWrapper<kudu::master::Master>)>, void (kudu::master::Master*)>::Run(kudu::internal::BindStateBase*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/bind_internal.h:1065 (libmaster.so+0xec50a)
     #5 kudu::Callback<void ()>::Run() const /home/jenkins-slave/workspace/kudu-master/3/src/kudu/gutil/callback.h:396 (discriminator 1) (libconsensus.so+0x9395d)
     #6 kudu::ClosureRunnable::Run() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:74 (libkudu_util.so+0x1be0ad)
     #7 kudu::ThreadPool::DispatchThread(bool) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:631 (libkudu_util.so+0x1bb3e1)
     #8 boost::_mfi::mf1<void, kudu::ThreadPool, bool>::operator()(kudu::ThreadPool*, bool) const /home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/mem_fn_template.hpp:165 (discriminator 3) (libkudu_util.so+0x1c3c9e)
     #9 void boost::_bi::list2<boost::_bi::value<kudu::ThreadPool*>, boost::_bi::value<bool> >::operator()<boost::_mfi::mf1<void, kudu::ThreadPool, bool>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void, kudu::ThreadPool, bool>&, boost::_bi::list0&, int) /home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/bind.hpp:319 (discriminator 3) (libkudu_util.so+0x1c3bdd)
     #10 boost::_bi::bind_t<void, boost::_mfi::mf1<void, kudu::ThreadPool, bool>, boost::_bi::list2<boost::_bi::value<kudu::ThreadPool*>, boost::_bi::value<bool> > >::operator()() /home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/bind/bind.hpp:1222 (libkudu_util.so+0x1c3b43)
     #11 boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf1<void, kudu::ThreadPool, bool>, boost::_bi::list2<boost::_bi::value<kudu::ThreadPool*>, boost::_bi::value<bool> > >, void>::invoke(boost::detail::function::function_buffer&) /home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/function/function_template.hpp:159 (libkudu_util.so+0x1c38e1)
     #12 boost::function0<void>::operator()() const /home/jenkins-slave/workspace/kudu-master/3/thirdparty/installed/common/include/boost/function/function_template.hpp:770 (discriminator 1) (libkrpc.so+0xb74e1)
     #13 kudu::Thread::SuperviseThread(void*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.cc:602 (libkudu_util.so+0x1b268e)

   Previous write of size 4 at 0x7fff3db0f228 by main thread:
     #0 kudu::master::Master::StartAsync() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:172 (libmaster.so+0xe80b6)
     #1 kudu::master::Master::Start() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:143 (discriminator 1) (libmaster.so+0xe7ce5)
     #2 kudu::master::MasterMain(int, char**) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master_main.cc:77 (discriminator 1) (kudu-master+0x4b4d66)
     #3 main /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master_main.cc:91 (kudu-master+0x4b49fe)

   Location is stack of main thread.

   Thread T59 'init [worker]-1' (tid=14675, running) created by main thread at:
     #0 pthread_create /home/jenkins-slave/workspace/kudu-master/3/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:897 (kudu-master+0x452053)
     #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>*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.cc:525 (discriminator 2) (libkudu_util.so+0x1b1e87)
     #2 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(bool), kudu::ThreadPool*, bool>(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&)(bool), kudu::ThreadPool* const&, bool const&, scoped_refptr<kudu::Thread>*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/thread.h:171 (libkudu_util.so+0x1bd026)
     #3 kudu::ThreadPool::CreateThreadUnlocked() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:696 (discriminator 4) (libkudu_util.so+0x1baa01)
     #4 kudu::ThreadPool::DoSubmit(std::__1::shared_ptr<kudu::Runnable>, kudu::ThreadPoolToken*) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:493 (libkudu_util.so+0x1b8ec1)
     #5 kudu::ThreadPool::Submit(std::__1::shared_ptr<kudu::Runnable>) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:454 (libkudu_util.so+0x1bad1f)
     #6 kudu::ThreadPool::SubmitClosure(kudu::Callback<void ()>) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/util/threadpool.cc:446 (libkudu_util.so+0x1bac59)
     #7 kudu::master::Master::StartAsync() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:169 (discriminator 4) (libmaster.so+0xe8088)
     #8 kudu::master::Master::Start() /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:143 (discriminator 1) (libmaster.so+0xe7ce5)
     #9 kudu::master::MasterMain(int, char**) /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master_main.cc:77 (discriminator 1) (kudu-master+0x4b4d66)
     #10 main /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master_main.cc:91 (kudu-master+0x4b49fe)

 SUMMARY: ThreadSanitizer: data race /home/jenkins-slave/workspace/kudu-master/3/src/kudu/master/master.cc:109 in kudu::master::Master::ToString() const

Change-Id: Ie6bb7c01afcb0219b93eddec79631768ee352516
Reviewed-on: http://gerrit.cloudera.org:8080/8092
Tested-by: Kudu Jenkins
Reviewed-by: David Ribeiro Alves <da...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/a77c33d9
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/a77c33d9
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/a77c33d9

Branch: refs/heads/master
Commit: a77c33d91665a56b04da881cd5d8c3ef2fa80d01
Parents: adedbc7
Author: Adar Dembo <ad...@cloudera.com>
Authored: Sun Sep 17 18:40:33 2017 -0700
Committer: Adar Dembo <ad...@cloudera.com>
Committed: Tue Sep 19 22:54:03 2017 +0000

----------------------------------------------------------------------
 src/kudu/master/master.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/a77c33d9/src/kudu/master/master.cc
----------------------------------------------------------------------
diff --git a/src/kudu/master/master.cc b/src/kudu/master/master.cc
index 14f8d28..617977f 100644
--- a/src/kudu/master/master.cc
+++ b/src/kudu/master/master.cc
@@ -177,7 +177,7 @@ Status Master::StartAsync() {
 void Master::InitCatalogManagerTask() {
   Status s = InitCatalogManager();
   if (!s.ok()) {
-    LOG(ERROR) << ToString() << ": Unable to init master catalog manager: " << s.ToString();
+    LOG(ERROR) << "Unable to init master catalog manager: " << s.ToString();
   }
   init_status_.Set(s);
 }