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)