Alexey Serbin created KUDU-2558:
-----------------------------------

             Summary: TestCreateMinidumpOnCrash scenario is flaky in TSAN
                 Key: KUDU-2558
                 URL: https://issues.apache.org/jira/browse/KUDU-2558
             Project: Kudu
          Issue Type: Bug
          Components: test
    Affects Versions: 1.8.0
            Reporter: Alexey Serbin
         Attachments: minidump_generation-itest.txt.xz

The {{MinidumpGenerationITest.TestCreateMinidumpOnCrash}} scenario started 
failing time to time in TSAN with the warnings as below.  Most likely that's 
harmless (since it's crashing anyway) and is inherently racy due to the way how 
minidump is captured.  However, it would be nice to clarify on that and either 
fix or add corresponding suppression for TSAN.
  
{noformat}
WARNING: ThreadSanitizer: data race (pid=2075)
  Write of size 8 at 0x7fd16c9062d8 by main thread (mutexes: write M1400):
    #0 memset sanitizer_common/sanitizer_common_interceptors.inc:751 
(kudu-master+0x450a0c)
    #1 my_memset 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/common/linux/linux_libc_support.cc:195:10
 (libkudu_util.so+0x1f68af)
    #2 google_breakpad::LinuxDumper::EnumerateMappings() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/minidump_writer/linux_dumper.cc:639:11
 (libkudu_util.so+0x1e8860)
    #3 google_breakpad::LinuxDumper::Init() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/minidump_writer/linux_dumper.cc:301:46
 (libkudu_util.so+0x1e7923)
    #4 (anonymous namespace)::MinidumpWriter::Init() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/minidump_writer/minidump_writer.cc:158:19
 (libkudu_util.so+0x1ec97d)
    #5 (anonymous namespace)::WriteMinidumpImpl(char const*, int, long, int, 
void const*, unsigned long, std::__1::list<google_breakpad::MappingEntry, 
std::__1::allocator<google_breakpad::MappingEntry> > const&, 
std::__1::list<google_breakpad::AppMemory, 
std::__1::allocator<google_breakpad::AppMemory> > const&, bool, unsigned long, 
bool) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/minidump_writer/minidump_writer.cc:1380:15
 (libkudu_util.so+0x1ebc8c)
    #6 google_breakpad::WriteMinidump(char const*, long, int, void const*, 
unsigned long, std::__1::list<google_breakpad::MappingEntry, 
std::__1::allocator<google_breakpad::MappingEntry> > const&, 
std::__1::list<google_breakpad::AppMemory, 
std::__1::allocator<google_breakpad::AppMemory> > const&, bool, unsigned long, 
bool) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/minidump_writer/minidump_writer.cc:1466:10
 (libkudu_util.so+0x1efb50)
    #7 google_breakpad::ExceptionHandler::DoDump(int, void const*, unsigned 
long) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/handler/exception_handler.cc:631:10
 (libkudu_util.so+0x1e22f8)
    #8 google_breakpad::ExceptionHandler::ThreadEntry(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/handler/exception_handler.cc:434:31
 (libkudu_util.so+0x1e2098)
    #9 sys_clone(int (*)(void*), void*, int, void*, int*, void*, int*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/third_party/lss/linux_syscall_support.h:2311:9
 (libkudu_util.so+0x1e2587)
    #10 
google_breakpad::ExceptionHandler::GenerateDump(google_breakpad::ExceptionHandler::CrashContext*)
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/handler/exception_handler.cc:538
 (libkudu_util.so+0x1e2587)
    #11 google_breakpad::ExceptionHandler::HandleSignal(int, siginfo*, void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/handler/exception_handler.cc:481:10
 (libkudu_util.so+0x1e1f6b)
    #12 google_breakpad::ExceptionHandler::SignalHandler(int, siginfo*, void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/handler/exception_handler.cc:376:39
 (libkudu_util.so+0x1e1ca2)
    #13 __tsan::CallUserSignalHandler(__tsan::ThreadState*, bool, bool, bool, 
int, __sanitizer::__sanitizer_siginfo*, void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1904
 (kudu-master+0x429a2c)
    #14 base::SleepForNanoseconds(long) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/sysinfo.cc:91:10
 (libgutil.so+0x61c72)
    #15 kudu::SleepFor(kudu::MonoDelta const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/monotime.cc:267:3
 (libkudu_util.so+0x189686)
    #16 kudu::master::MasterMain(int, char**) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/master_main.cc:88:5
 (kudu-master+0x4cb5e8)
    #17 main 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/master_main.cc:98:10
 (kudu-master+0x4cb1ae)

  Previous read of size 8 at 0x7fd16c9062d8 by thread T65:
    #0 kudu::(anonymous namespace)::HandleStackTraceSignal(int, siginfo*, 
void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/debug-util.cc:264:65
 (libkudu_util.so+0xf29de)
    #1 CallUserSignalHandler 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1904
 (kudu-master+0x42c195)
    #2 __tsan::ProcessPendingSignals(__tsan::ThreadState*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1952
 (kudu-master+0x42c195)
    #3 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>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:556:15
 (libkudu_util.so+0x1be70f)
    #4 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(), 
kudu::ThreadPool*>(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&)(), kudu::ThreadPool* const&, 
scoped_refptr<kudu::Thread>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.h:164:12
 (libkudu_util.so+0x1c98a5)
    #5 kudu::ThreadPool::CreateThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:749:10
 (libkudu_util.so+0x1c6b92)
    #6 kudu::ThreadPool::DoSubmit(std::__1::shared_ptr<kudu::Runnable>, 
kudu::ThreadPoolToken*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:556:21
 (libkudu_util.so+0x1c535f)
    #7 kudu::ThreadPoolToken::Submit(std::__1::shared_ptr<kudu::Runnable>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:161:17
 (libkudu_util.so+0x1c4dae)
    #8 kudu::ThreadPoolToken::SubmitClosure(kudu::Callback<void ()()>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:153:10
 (libkudu_util.so+0x1c4cf1)
    #9 
kudu::consensus::PeerMessageQueue::NotifyObserversOfCommitIndexChange(long) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/consensus_queue.cc:1363:3
 (libconsensus.so+0x8efc9)
    #10 
kudu::consensus::PeerMessageQueue::ResponseFromPeer(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
kudu::consensus::ConsensusResponsePB const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/consensus_queue.cc:1205:5
 (libconsensus.so+0x88f46)
    #11 
kudu::consensus::PeerMessageQueue::LocalPeerAppendFinished(kudu::consensus::OpId
 const&, kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status 
const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/consensus_queue.cc:354:3
 (libconsensus.so+0x88395)
    #12 kudu::internal::RunnableAdapter<void 
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status 
const&)>::Run(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:312:12
 (libconsensus.so+0x9d360)
    #13 kudu::internal::InvokeHelper<false, void, 
kudu::internal::RunnableAdapter<void 
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&)>, 
void ()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status 
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void 
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&)>, 
kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:925:14
 (libconsensus.so+0x9d1de)
    #14 kudu::internal::Invoker<3, 
kudu::internal::BindState<kudu::internal::RunnableAdapter<void 
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&)>, 
void ()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&), void 
()(kudu::internal::UnretainedWrapper<kudu::consensus::PeerMessageQueue>, 
kudu::consensus::OpId, kudu::Callback<void ()(kudu::Status const&)>)>, void 
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status 
const&)>::Run(kudu::internal::BindStateBase*, kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:1420:12
 (libconsensus.so+0x9d088)
    #15 kudu::Callback<void ()(kudu::Status const&)>::Run(kudu::Status const&) 
const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/callback.h:436:12
 (libmaster.so+0x111af1)
    #16 kudu::consensus::LogCache::LogCallback(long, bool, kudu::Callback<void 
()(kudu::Status const&)> const&, kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log_cache.cc:250:17
 (libconsensus.so+0xa9be2)
    #17 kudu::internal::RunnableAdapter<void 
(kudu::consensus::LogCache::*)(long, bool, kudu::Callback<void ()(kudu::Status 
const&)> const&, kudu::Status const&)>::Run(kudu::consensus::LogCache*, long 
const&, bool const&, kudu::Callback<void ()(kudu::Status const&)> const&, 
kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:380:12
 (libconsensus.so+0xae68e)
    #18 kudu::internal::InvokeHelper<false, void, 
kudu::internal::RunnableAdapter<void (kudu::consensus::LogCache::*)(long, bool, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status const&)>, 
void ()(kudu::consensus::LogCache*, long const&, bool const&, 
kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status 
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void 
(kudu::consensus::LogCache::*)(long, bool, kudu::Callback<void ()(kudu::Status 
const&)> const&, kudu::Status const&)>, kudu::consensus::LogCache*, long 
const&, bool const&, kudu::Callback<void ()(kudu::Status const&)> const&, 
kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:946:14
 (libconsensus.so+0xae4dd)
    #19 kudu::internal::Invoker<4, 
kudu::internal::BindState<kudu::internal::RunnableAdapter<void 
(kudu::consensus::LogCache::*)(long, bool, kudu::Callback<void ()(kudu::Status 
const&)> const&, kudu::Status const&)>, void ()(kudu::consensus::LogCache*, 
long, bool, kudu::Callback<void ()(kudu::Status const&)> const&, kudu::Status 
const&), void ()(kudu::internal::UnretainedWrapper<kudu::consensus::LogCache>, 
long, bool, kudu::Callback<void ()(kudu::Status const&)>)>, void 
()(kudu::consensus::LogCache*, long, bool, kudu::Callback<void ()(kudu::Status 
const&)> const&, kudu::Status const&)>::Run(kudu::internal::BindStateBase*, 
kudu::Status const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:1658:12
 (libconsensus.so+0xae378)
    #20 kudu::Callback<void ()(kudu::Status const&)>::Run(kudu::Status const&) 
const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/callback.h:436:12
 (libmaster.so+0x111af1)
    #21 
kudu::log::Log::AppendThread::HandleGroup(std::__1::vector<kudu::log::LogEntryBatch*,
 std::__1::allocator<kudu::log::LogEntryBatch*> >) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log.cc:398:33
 (liblog.so+0x4548c)
    #22 kudu::log::Log::AppendThread::DoWork() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log.cc:347:5
 (liblog.so+0x44bcf)
    #23 kudu::internal::RunnableAdapter<void 
(kudu::log::Log::AppendThread::*)()>::Run(kudu::log::Log::AppendThread*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:136:12
 (liblog.so+0x57719)
    #24 kudu::internal::InvokeHelper<false, void, 
kudu::internal::RunnableAdapter<void (kudu::log::Log::AppendThread::*)()>, void 
()(kudu::log::Log::AppendThread*)>::MakeItSo(kudu::internal::RunnableAdapter<void
 (kudu::log::Log::AppendThread::*)()>, kudu::log::Log::AppendThread*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:873:14
 (liblog.so+0x57635)
    #25 kudu::internal::Invoker<1, 
kudu::internal::BindState<kudu::internal::RunnableAdapter<void 
(kudu::log::Log::AppendThread::*)()>, void ()(kudu::log::Log::AppendThread*), 
void ()(kudu::internal::UnretainedWrapper<kudu::log::Log::AppendThread>)>, void 
()(kudu::log::Log::AppendThread*)>::Run(kudu::internal::BindStateBase*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:1065:12
 (liblog.so+0x5757a)
    #26 kudu::Callback<void ()()>::Run() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/callback.h:396:12
 (libconsensus.so+0xa33fd)
    #27 kudu::ClosureRunnable::Run() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:76:9
 (libkudu_util.so+0x1cb85d)
    #28 kudu::ThreadPool::DispatchThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:686:22
 (libkudu_util.so+0x1c7588)
    #29 boost::_mfi::mf0<void, kudu::ThreadPool>::operator()(kudu::ThreadPool*) 
const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29
 (libkudu_util.so+0x1d24f9)
    #30 void boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> 
>::operator()<boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
kudu::ThreadPool>&, boost::_bi::list0&, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9
 (libkudu_util.so+0x1d244a)
    #31 boost::_bi::bind_t<void, boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> > >::operator()() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16
 (libkudu_util.so+0x1d23d3)
    #32 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11
 (libkudu_util.so+0x1d21c9)
    #33 boost::function0<void>::operator()() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14
 (libkrpc.so+0xb6651)
    #34 kudu::Thread::SuperviseThread(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:603:3
 (libkudu_util.so+0x1bece4)

  Mutex M1400 (0x7fd171c9bff0) created at:
    #0 pthread_mutex_lock 
sanitizer_common/sanitizer_common_interceptors.inc:3914 (kudu-master+0x43f25c)
    #1 
google_breakpad::ExceptionHandler::ExceptionHandler(google_breakpad::MinidumpDescriptor
 const&, bool (*)(void*), bool (*)(google_breakpad::MinidumpDescriptor const&, 
void*, bool), void*, bool, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/client/linux/handler/exception_handler.cc:242:3
 (libkudu_util.so+0x1e0f2d)
    #2 kudu::MinidumpExceptionHandler::InitMinidumpExceptionHandler() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/minidump.cc:250:11
 (libkudu_util.so+0x18620d)
    #3 kudu::MinidumpExceptionHandler::RegisterMinidumpExceptionHandler() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/minidump.cc:265:3
 (libkudu_util.so+0x1864ae)
    #4 kudu::MinidumpExceptionHandler::MinidumpExceptionHandler() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/minidump.cc:345:3
 (libkudu_util.so+0x186c55)
    #5 kudu::server::ServerBase::ServerBase(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >, 
kudu::server::ServerBaseOptions const&, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/server/server_base.cc:348:29
 (libserver_process.so+0x7ae83)
    #6 kudu::kserver::KuduServer::KuduServer(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >, 
kudu::server::ServerBaseOptions const&, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/kserver/kserver.cc:132:7
 (libkserver.so+0x4739)
    #7 kudu::master::Master::Master(kudu::master::MasterOptions const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/master.cc:119:5
 (libmaster.so+0x117f42)
    #8 kudu::master::MasterMain(int, char**) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/master_main.cc:79:10
 (kudu-master+0x4cb4ce)
    #9 main 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/master_main.cc:98:10
 (kudu-master+0x4cb1ae)

  Thread T65 'wal-append [wor' (tid=1845, finished) created by thread T62 at:
    #0 pthread_create 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:992
 (kudu-master+0x45aefb)
    #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>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:556:15
 (libkudu_util.so+0x1be70f)
    #2 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(), 
kudu::ThreadPool*>(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&)(), kudu::ThreadPool* const&, 
scoped_refptr<kudu::Thread>*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.h:164:12
 (libkudu_util.so+0x1c98a5)
    #3 kudu::ThreadPool::CreateThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:749:10
 (libkudu_util.so+0x1c6b92)
    #4 kudu::ThreadPool::DoSubmit(std::__1::shared_ptr<kudu::Runnable>, 
kudu::ThreadPoolToken*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:556:21
 (libkudu_util.so+0x1c535f)
    #5 kudu::ThreadPool::Submit(std::__1::shared_ptr<kudu::Runnable>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:458:10
 (libkudu_util.so+0x1c6dff)
    #6 kudu::ThreadPool::SubmitClosure(kudu::Callback<void ()()>) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:450:10
 (libkudu_util.so+0x1c6d41)
    #7 kudu::log::Log::AppendThread::Wake() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log.cc:289:5
 (liblog.so+0x44859)
    #8 
kudu::log::Log::AsyncAppend(std::__1::unique_ptr<kudu::log::LogEntryBatch, 
std::__1::default_delete<kudu::log::LogEntryBatch> >, kudu::Callback<void 
()(kudu::Status const&)> const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log.cc:602:19
 (liblog.so+0x498a6)
    #9 
kudu::log::Log::AsyncAppendReplicates(std::__1::vector<scoped_refptr<kudu::consensus::RefCountedReplicate>,
 std::__1::allocator<scoped_refptr<kudu::consensus::RefCountedReplicate> > > 
const&, kudu::Callback<void ()(kudu::Status const&)> const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log.cc:614:10
 (liblog.so+0x49b69)
    #10 
kudu::consensus::LogCache::AppendOperations(std::__1::vector<scoped_refptr<kudu::consensus::RefCountedReplicate>,
 std::__1::allocator<scoped_refptr<kudu::consensus::RefCountedReplicate> > > 
const&, kudu::Callback<void ()(kudu::Status const&)> const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/log_cache.cc:213:29
 (libconsensus.so+0xa8db4)
    #11 
kudu::consensus::PeerMessageQueue::AppendOperations(std::__1::vector<scoped_refptr<kudu::consensus::RefCountedReplicate>,
 std::__1::allocator<scoped_refptr<kudu::consensus::RefCountedReplicate> > > 
const&, kudu::Callback<void ()(kudu::Status const&)> const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/consensus_queue.cc:403:3
 (libconsensus.so+0x89c49)
    #12 
kudu::consensus::PeerMessageQueue::AppendOperation(scoped_refptr<kudu::consensus::RefCountedReplicate>
 const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/consensus_queue.cc:360:10
 (libconsensus.so+0x8996a)
    #13 
kudu::consensus::RaftConsensus::AppendNewRoundToQueueUnlocked(scoped_refptr<kudu::consensus::ConsensusRound>
 const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/raft_consensus.cc:681:3
 (libconsensus.so+0xc34f7)
    #14 kudu::consensus::RaftConsensus::BecomeLeaderUnlocked() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/raft_consensus.cc:624:10
 (libconsensus.so+0xc0e9c)
    #15 
kudu::consensus::RaftConsensus::DoElectionCallback(kudu::consensus::RaftConsensus::ElectionReason,
 kudu::consensus::ElectionResult const&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/consensus/raft_consensus.cc:2563:5
 (libconsensus.so+0xd18e7)
    #16 
_ZNSt3__115__apply_functorIMN4kudu9consensus13RaftConsensusEFvNS3_14ElectionReasonERKNS2_14ElectionResultEENS_5tupleIJNS_10shared_ptrIS3_EES4_S5_EEEJLm0ELm1ELm2EENSA_IJEEEEENS_13__bind_returnIT_T0_T2_Xsr22__is_valid_bind_returnISG_SH_SI_EE5valueEE4typeERSG_RSH_NS_15__tuple_indicesIJXspT1_EEEEOSI_
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/type_traits:4423:1
 (libconsensus.so+0xe4449)
    #17 
_ZNSt3__16__bindIMN4kudu9consensus13RaftConsensusEFvNS3_14ElectionReasonERKNS2_14ElectionResultEEJNS_10shared_ptrIS3_EERS4_S7_EEclIJEEENS_13__bind_returnIS9_NS_5tupleIJSB_S4_S5_EEENSG_IJDpOT_EEEXsr22__is_valid_bind_returnIS9_SH_SL_EE5valueEE4typeESK_
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/functional:2252
 (libconsensus.so+0xe4449)
    #18 
_ZN5boost6detail8function26void_function_obj_invoker0INSt3__16__bindIMN4kudu9consensus13RaftConsensusEFvNS7_14ElectionReasonERKNS6_14ElectionResultEEJNS3_10shared_ptrIS7_EERS8_SB_EEEvE6invokeERNS1_15function_bufferE
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159
 (libconsensus.so+0xe4449)
    #19 boost::function0<void>::operator()() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14
 (libkrpc.so+0xb6651)
    #20 kudu::FunctionRunnable::Run() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:60:5
 (libkudu_util.so+0x1cbbed)
    #21 kudu::ThreadPool::DispatchThread() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/threadpool.cc:686:22
 (libkudu_util.so+0x1c7588)
    #22 boost::_mfi::mf0<void, kudu::ThreadPool>::operator()(kudu::ThreadPool*) 
const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29
 (libkudu_util.so+0x1d24f9)
    #23 void boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> 
>::operator()<boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
kudu::ThreadPool>&, boost::_bi::list0&, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9
 (libkudu_util.so+0x1d244a)
    #24 boost::_bi::bind_t<void, boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> > >::operator()() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16
 (libkudu_util.so+0x1d23d3)
    #25 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf0<void, kudu::ThreadPool>, 
boost::_bi::list1<boost::_bi::value<kudu::ThreadPool*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11
 (libkudu_util.so+0x1d21c9)
    #26 boost::function0<void>::operator()() const 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14
 (libkrpc.so+0xb6651)
    #27 kudu::Thread::SuperviseThread(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:603:3
 (libkudu_util.so+0x1bece4)

SUMMARY: ThreadSanitizer: data race 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/breakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39/src/common/linux/linux_libc_support.cc:195:10
 in my_memset
==================

{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to