Mike Percy created KUDU-1509:
--------------------------------
Summary: tsan: Data race in CBTree in disk_reservation-itest
Key: KUDU-1509
URL: https://issues.apache.org/jira/browse/KUDU-1509
Project: Kudu
Issue Type: Bug
Components: tablet
Affects Versions: 0.9.0
Reporter: Mike Percy
CBTree reports a data race in disk_reservation-itest:
{code}
WARNING: ThreadSanitizer: data race (pid=20459)
Write of size 1 at 0x7dd000002889 by thread T145:
#0 memcpy
/home/mpercy/src/kudu/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:677
(kudu-tserver+0x00000044cb1b)
#1 void kudu::InlineSlice<8ul,
true>::set<kudu::ThreadSafeMemoryTrackingArena>(unsigned char const*, unsigned
long, kudu::ThreadSafeMemoryTrackingArena*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/inline_slice.h:116:7
(libtablet.so+0x0000002972b6)
#2 void kudu::InlineSlice<8ul,
true>::set<kudu::ThreadSafeMemoryTrackingArena>(kudu::Slice const&,
kudu::ThreadSafeMemoryTrackingArena*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/inline_slice.h:95:5
(libtablet.so+0x000000297240)
#3 void kudu::tablet::btree::InsertInSliceArray<kudu::InlineSlice<8ul,
true>, kudu::ThreadSafeMemoryTrackingArena>(kudu::InlineSlice<8ul, true>*,
unsigned long, kudu::Slice const&, unsigned long,
kudu::ThreadSafeMemoryTrackingArena*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:347:3
(libtablet.so+0x00000028bc4a)
#4
kudu::tablet::btree::InternalNode<kudu::tablet::MSBTreeTraits>::Insert(kudu::Slice
const&, kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>,
kudu::ThreadSafeMemoryTrackingArena*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:558:5
(libtablet.so+0x000000298a34)
#5
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::PropagateSplitUpward(kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>,
kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>, kudu::Slice const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1524:13
(libtablet.so+0x0000002979d1)
#6
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::PropagateSplitUpward(kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>,
kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>, kudu::Slice const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1556:9
(libtablet.so+0x000000297dca)
#7
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::PropagateSplitUpward(kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>,
kudu::tablet::btree::NodePtr<kudu::tablet::MSBTreeTraits>, kudu::Slice const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1556:9
(libtablet.so+0x000000297dca)
#8
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::SplitLeafAndInsertUp(kudu::tablet::btree::PreparedMutation<kudu::tablet::MSBTreeTraits>*,
kudu::Slice const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1485:5
(libtablet.so+0x000000296aeb)
#9
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::Insert(kudu::tablet::btree::PreparedMutation<kudu::tablet::MSBTreeTraits>*,
kudu::Slice const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1312:16
(libtablet.so+0x0000002965d3)
#10
kudu::tablet::btree::PreparedMutation<kudu::tablet::MSBTreeTraits>::Insert(kudu::Slice
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:861:12
(libtablet.so+0x00000028cafd)
#11 kudu::tablet::MemRowSet::Insert(kudu::Timestamp,
kudu::ConstContiguousRow const&, kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/memrowset.cc:166:27
(libtablet.so+0x00000028936b)
#12
kudu::tablet::Tablet::InsertOrUpsertUnlocked(kudu::tablet::WriteTransactionState*,
kudu::tablet::RowOp*, kudu::tablet::ProbeStats*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:419:14
(libtablet.so+0x0000001dcebd)
#13
kudu::tablet::Tablet::ApplyRowOperation(kudu::tablet::WriteTransactionState*,
kudu::tablet::RowOp*, kudu::tablet::ProbeStats*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:618:21
(libtablet.so+0x0000001dde5d)
#14
kudu::tablet::Tablet::ApplyRowOperations(kudu::tablet::WriteTransactionState*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:598:5
(libtablet.so+0x0000001ddcaf)
#15
kudu::tablet::WriteTransaction::Apply(gscoped_ptr<kudu::consensus::CommitMsg,
kudu::DefaultDeleter<kudu::consensus::CommitMsg> >*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/write_transaction.cc:124:3
(libtablet.so+0x0000002438f1)
#16 kudu::tablet::TransactionDriver::ApplyTask()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:377:31
(libtablet.so+0x00000023b2f5)
#17 kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>::Run(kudu::tablet::TransactionDriver*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:134:12
(libtablet.so+0x00000023d2c6)
#18 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void (kudu::tablet::TransactionDriver::*)()>,
void
()(kudu::tablet::TransactionDriver*)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>, kudu::tablet::TransactionDriver*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:871:5
(libtablet.so+0x00000023d255)
#19 kudu::internal::Invoker<1,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>, void
()(kudu::tablet::TransactionDriver*), void
()(kudu::internal::UnretainedWrapper<kudu::tablet::TransactionDriver>)>, void
()(kudu::tablet::TransactionDriver*)>::Run(kudu::internal::BindStateBase*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1063:12
(libtablet.so+0x00000023d1ea)
#20 kudu::Callback<void ()()>::Run() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:396:12
(libconsensus.so+0x0000000befdd)
#21 boost::_mfi::cmf0<void, kudu::Callback<void ()()>
>::operator()(kudu::Callback<void ()()> const&) const
/usr/include/boost/bind/mem_fn_template.hpp:117:16
(libconsensus.so+0x0000000c5726)
#22 void boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> >
>::operator()<boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::cmf0<void,
kudu::Callback<void ()()> >&, boost::_bi::list0&, int)
/usr/include/boost/bind/bind.hpp:246:9 (libconsensus.so+0x0000000c568e)
#23 boost::_bi::bind_t<void, boost::_mfi::cmf0<void, kudu::Callback<void
()()> >, boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > >
>::operator()() /usr/include/boost/bind/bind_template.hpp:20:16
(libconsensus.so+0x0000000c5643)
#24
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > > >,
void>::invoke(boost::detail::function::function_buffer&)
/usr/include/boost/function/function_template.hpp:153:11
(libconsensus.so+0x0000000c5401)
#25 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#26 kudu::FunctionRunnable::Run()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:48:5
(libkudu_util.so+0x000000226bcd)
#27 kudu::ThreadPool::DispatchThread(bool)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:343:7
(libkudu_util.so+0x000000224fcf)
#28 boost::_mfi::mf1<void, kudu::ThreadPool,
bool>::operator()(kudu::ThreadPool*, bool) const
/usr/include/boost/bind/mem_fn_template.hpp:162:16
(libkudu_util.so+0x00000022941e)
#29 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)
/usr/include/boost/bind/bind.hpp:306:9 (libkudu_util.so+0x00000022937b)
#30 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()()
/usr/include/boost/bind/bind_template.hpp:20:16 (libkudu_util.so+0x000000229303)
#31
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&)
/usr/include/boost/function/function_template.hpp:153:11
(libkudu_util.so+0x000000229101)
#32 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#33 kudu::Thread::SuperviseThread(void*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:586:3
(libkudu_util.so+0x00000021b55f)
Previous atomic read of size 8 at 0x7dd000002888 by thread T142:
#0 __tsan_atomic64_load
/home/mpercy/src/kudu/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc:538
(kudu-tserver+0x0000004661ac)
#1 base::subtle::Acquire_Load(long const volatile*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/atomicops-internals-tsan.h:179:10
(libtserver.so+0x00000013d2ee)
#2 kudu::InlineSlice<8ul, true>::LoadValue() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/inline_slice.h:144:27
(libtablet.so+0x0000001fbd19)
#3 kudu::InlineSlice<8ul, true>::as_slice() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/inline_slice.h:79:33
(libtablet.so+0x0000001fb826)
#4 unsigned long
kudu::tablet::btree::FindInSliceArray<8ul>(kudu::InlineSlice<8ul, true> const*,
long, kudu::Slice const&, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:330
(libtablet.so+0x0000001fb826)
#5
kudu::tablet::btree::InternalNode<kudu::tablet::MSBTreeTraits>::Find(kudu::Slice
const&, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:576:12
(libtablet.so+0x0000001fb609)
#6
kudu::tablet::btree::InternalNode<kudu::tablet::MSBTreeTraits>::FindChild(kudu::Slice
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:585:18
(libtablet.so+0x0000001fb3e7)
#7
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::TraverseToLeaf(kudu::Slice
const&, long*) const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1161:31
(libtablet.so+0x0000001fad7b)
#8
kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>::PrepareMutation(kudu::tablet::btree::PreparedMutation<kudu::tablet::MSBTreeTraits>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:1269:33
(libtablet.so+0x000000295cf2)
#9
kudu::tablet::btree::PreparedMutation<kudu::tablet::MSBTreeTraits>::Prepare(kudu::tablet::btree::CBTree<kudu::tablet::MSBTreeTraits>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/concurrent_btree.h:855:5
(libtablet.so+0x00000028c6b7)
#10 kudu::tablet::MemRowSet::Insert(kudu::Timestamp,
kudu::ConstContiguousRow const&, kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/memrowset.cc:140:5
(libtablet.so+0x000000289219)
#11
kudu::tablet::Tablet::InsertOrUpsertUnlocked(kudu::tablet::WriteTransactionState*,
kudu::tablet::RowOp*, kudu::tablet::ProbeStats*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:419:14
(libtablet.so+0x0000001dcebd)
#12
kudu::tablet::Tablet::ApplyRowOperation(kudu::tablet::WriteTransactionState*,
kudu::tablet::RowOp*, kudu::tablet::ProbeStats*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:618:21
(libtablet.so+0x0000001dde5d)
#13
kudu::tablet::Tablet::ApplyRowOperations(kudu::tablet::WriteTransactionState*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:598:5
(libtablet.so+0x0000001ddcaf)
#14
kudu::tablet::WriteTransaction::Apply(gscoped_ptr<kudu::consensus::CommitMsg,
kudu::DefaultDeleter<kudu::consensus::CommitMsg> >*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/write_transaction.cc:124:3
(libtablet.so+0x0000002438f1)
#15 kudu::tablet::TransactionDriver::ApplyTask()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:377:31
(libtablet.so+0x00000023b2f5)
#16 kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>::Run(kudu::tablet::TransactionDriver*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:134:12
(libtablet.so+0x00000023d2c6)
#17 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void (kudu::tablet::TransactionDriver::*)()>,
void
()(kudu::tablet::TransactionDriver*)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>, kudu::tablet::TransactionDriver*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:871:5
(libtablet.so+0x00000023d255)
#18 kudu::internal::Invoker<1,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>, void
()(kudu::tablet::TransactionDriver*), void
()(kudu::internal::UnretainedWrapper<kudu::tablet::TransactionDriver>)>, void
()(kudu::tablet::TransactionDriver*)>::Run(kudu::internal::BindStateBase*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1063:12
(libtablet.so+0x00000023d1ea)
#19 kudu::Callback<void ()()>::Run() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:396:12
(libconsensus.so+0x0000000befdd)
#20 boost::_mfi::cmf0<void, kudu::Callback<void ()()>
>::operator()(kudu::Callback<void ()()> const&) const
/usr/include/boost/bind/mem_fn_template.hpp:117:16
(libconsensus.so+0x0000000c5726)
#21 void boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> >
>::operator()<boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::cmf0<void,
kudu::Callback<void ()()> >&, boost::_bi::list0&, int)
/usr/include/boost/bind/bind.hpp:246:9 (libconsensus.so+0x0000000c568e)
#22 boost::_bi::bind_t<void, boost::_mfi::cmf0<void, kudu::Callback<void
()()> >, boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > >
>::operator()() /usr/include/boost/bind/bind_template.hpp:20:16
(libconsensus.so+0x0000000c5643)
#23
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > > >,
void>::invoke(boost::detail::function::function_buffer&)
/usr/include/boost/function/function_template.hpp:153:11
(libconsensus.so+0x0000000c5401)
#24 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#25 kudu::FunctionRunnable::Run()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:48:5
(libkudu_util.so+0x000000226bcd)
#26 kudu::ThreadPool::DispatchThread(bool)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:343:7
(libkudu_util.so+0x000000224fcf)
#27 boost::_mfi::mf1<void, kudu::ThreadPool,
bool>::operator()(kudu::ThreadPool*, bool) const
/usr/include/boost/bind/mem_fn_template.hpp:162:16
(libkudu_util.so+0x00000022941e)
#28 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)
/usr/include/boost/bind/bind.hpp:306:9 (libkudu_util.so+0x00000022937b)
#29 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()()
/usr/include/boost/bind/bind_template.hpp:20:16 (libkudu_util.so+0x000000229303)
#30
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&)
/usr/include/boost/function/function_template.hpp:153:11
(libkudu_util.so+0x000000229101)
#31 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#32 kudu::Thread::SuperviseThread(void*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:586:3
(libkudu_util.so+0x00000021b55f)
Location is heap block of size 127488 at 0x7dd000000000 allocated by thread
T134:
#0 malloc
/home/mpercy/src/kudu/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:595
(kudu-tserver+0x000000440858)
#1 kudu::HeapBufferAllocator::Malloc(unsigned long)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/memory.cc:149:12
(libkudu_util.so+0x0000001d048f)
#2 kudu::HeapBufferAllocator::AllocateInternal(unsigned long, unsigned
long, kudu::BufferAllocator*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/memory.cc:100:50
(libkudu_util.so+0x0000001d039a)
#3 kudu::BufferAllocator::DelegateAllocate(kudu::BufferAllocator*, unsigned
long, unsigned long, kudu::BufferAllocator*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/memory.h:211:12
(libkudu_util.so+0x0000001d11a9)
#4 kudu::MemoryTrackingBufferAllocator::AllocateInternal(unsigned long,
unsigned long, kudu::BufferAllocator*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/memory.cc:308:22
(libkudu_util.so+0x0000001d0e5f)
#5 kudu::BufferAllocator::BestEffortAllocate(unsigned long, unsigned long)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/memory.h:131:22
(libkudu_util.so+0x0000001cc3ab)
#6 kudu::ArenaBase<true>::NewComponent(unsigned long, unsigned long)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/arena.cc:113:20
(libkudu_util.so+0x0000001cb1d4)
#7 kudu::ArenaBase<true>::AllocateBytesFallback(unsigned long, unsigned
long)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/arena.cc:93:26
(libkudu_util.so+0x0000001cba25)
#8 kudu::ArenaBase<true>::AllocateBytesAligned(unsigned long, unsigned
long)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/arena.h:442:10
(libtablet.so+0x000000295539)
#9 kudu::ArenaBase<true>::AllocateBytes(unsigned long)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/arena.h:141:12
(libtablet.so+0x0000002964a5)
#10 kudu::ArenaBase<true>::RelocateSlice(kudu::Slice const&, kudu::Slice*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/memory/arena.h:460:23
(libtablet.so+0x0000002963c3)
#11 kudu::Status kudu::RelocateIndirectDataToArena<kudu::tablet::MRSRow,
kudu::ThreadSafeMemoryTrackingArena>(kudu::tablet::MRSRow*,
kudu::ThreadSafeMemoryTrackingArena*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/common/row.h:351:12
(libtablet.so+0x0000002962c4)
#12 kudu::Status
kudu::tablet::MRSRow::CopyRow<kudu::ThreadSafeMemoryTrackingArena>(kudu::ConstContiguousRow
const&, kudu::ThreadSafeMemoryTrackingArena*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/memrowset.h:135:12
(libtablet.so+0x00000028ca72)
#13 kudu::tablet::MemRowSet::Insert(kudu::Timestamp,
kudu::ConstContiguousRow const&, kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/memrowset.cc:164:31
(libtablet.so+0x00000028933f)
#14
kudu::tablet::Tablet::InsertOrUpsertUnlocked(kudu::tablet::WriteTransactionState*,
kudu::tablet::RowOp*, kudu::tablet::ProbeStats*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:419:14
(libtablet.so+0x0000001dcebd)
#15
kudu::tablet::Tablet::ApplyRowOperation(kudu::tablet::WriteTransactionState*,
kudu::tablet::RowOp*, kudu::tablet::ProbeStats*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:618:21
(libtablet.so+0x0000001dde5d)
#16
kudu::tablet::Tablet::ApplyRowOperations(kudu::tablet::WriteTransactionState*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/tablet.cc:598:5
(libtablet.so+0x0000001ddcaf)
#17
kudu::tablet::WriteTransaction::Apply(gscoped_ptr<kudu::consensus::CommitMsg,
kudu::DefaultDeleter<kudu::consensus::CommitMsg> >*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/write_transaction.cc:124:3
(libtablet.so+0x0000002438f1)
#18 kudu::tablet::TransactionDriver::ApplyTask()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:377:31
(libtablet.so+0x00000023b2f5)
#19 kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>::Run(kudu::tablet::TransactionDriver*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:134:12
(libtablet.so+0x00000023d2c6)
#20 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void (kudu::tablet::TransactionDriver::*)()>,
void
()(kudu::tablet::TransactionDriver*)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>, kudu::tablet::TransactionDriver*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:871:5
(libtablet.so+0x00000023d255)
#21 kudu::internal::Invoker<1,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)()>, void
()(kudu::tablet::TransactionDriver*), void
()(kudu::internal::UnretainedWrapper<kudu::tablet::TransactionDriver>)>, void
()(kudu::tablet::TransactionDriver*)>::Run(kudu::internal::BindStateBase*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1063:12
(libtablet.so+0x00000023d1ea)
#22 kudu::Callback<void ()()>::Run() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:396:12
(libconsensus.so+0x0000000befdd)
#23 boost::_mfi::cmf0<void, kudu::Callback<void ()()>
>::operator()(kudu::Callback<void ()()> const&) const
/usr/include/boost/bind/mem_fn_template.hpp:117:16
(libconsensus.so+0x0000000c5726)
#24 void boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> >
>::operator()<boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::cmf0<void,
kudu::Callback<void ()()> >&, boost::_bi::list0&, int)
/usr/include/boost/bind/bind.hpp:246:9 (libconsensus.so+0x0000000c568e)
#25 boost::_bi::bind_t<void, boost::_mfi::cmf0<void, kudu::Callback<void
()()> >, boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > >
>::operator()() /usr/include/boost/bind/bind_template.hpp:20:16
(libconsensus.so+0x0000000c5643)
#26
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > > >,
void>::invoke(boost::detail::function::function_buffer&)
/usr/include/boost/function/function_template.hpp:153:11
(libconsensus.so+0x0000000c5401)
#27 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#28 kudu::FunctionRunnable::Run()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:48:5
(libkudu_util.so+0x000000226bcd)
#29 kudu::ThreadPool::DispatchThread(bool)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:343:7
(libkudu_util.so+0x000000224fcf)
#30 boost::_mfi::mf1<void, kudu::ThreadPool,
bool>::operator()(kudu::ThreadPool*, bool) const
/usr/include/boost/bind/mem_fn_template.hpp:162:16
(libkudu_util.so+0x00000022941e)
#31 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)
/usr/include/boost/bind/bind.hpp:306:9 (libkudu_util.so+0x00000022937b)
#32 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()()
/usr/include/boost/bind/bind_template.hpp:20:16 (libkudu_util.so+0x000000229303)
#33
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&)
/usr/include/boost/function/function_template.hpp:153:11
(libkudu_util.so+0x000000229101)
#34 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#35 kudu::Thread::SuperviseThread(void*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:586:3
(libkudu_util.so+0x00000021b55f)
Thread T145 'apply [worker]-' (tid=20643, running) created by thread T124 at:
#0 pthread_create
/home/mpercy/src/kudu/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954
(kudu-tserver+0x00000044a123)
#1 kudu::Thread::StartThread(std::string const&, std::string const&,
boost::function<void ()()> const&, unsigned long, scoped_refptr<kudu::Thread>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:509:15
(libkudu_util.so+0x00000021ade7)
#2 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(bool),
kudu::ThreadPool*, bool>(std::string const&, std::string const&, void
(kudu::ThreadPool::* const&)(bool), kudu::ThreadPool* const&, bool const&,
scoped_refptr<kudu::Thread>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.h:162:12
(libkudu_util.so+0x0000002262ae)
#3 kudu::ThreadPool::CreateThreadUnlocked()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:381:14
(libkudu_util.so+0x000000224304)
#4 kudu::ThreadPool::Submit(std::shared_ptr<kudu::Runnable> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:211:21
(libkudu_util.so+0x000000224902)
#5 kudu::ThreadPool::SubmitFunc(boost::function<void ()()> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:182:10
(libkudu_util.so+0x000000224704)
#6 kudu::ThreadPool::SubmitClosure(kudu::Callback<void ()()> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:178:10
(libkudu_util.so+0x000000224632)
#7 kudu::tablet::TransactionDriver::ApplyAsync()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:358:10
(libtablet.so+0x00000023ae76)
#8 kudu::tablet::TransactionDriver::ReplicationFinished(kudu::Status
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:311:31
(libtablet.so+0x00000023908d)
#9 kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status
const&)>::Run(kudu::tablet::TransactionDriver*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:190:12
(libtablet.so+0x000000234615)
#10 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>,
kudu::tablet::TransactionDriver*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:887:5
(libtablet.so+0x000000234508)
#11 kudu::internal::Invoker<1,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status const&), void
()(kudu::internal::UnretainedWrapper<kudu::tablet::TransactionDriver>)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status
const&)>::Run(kudu::internal::BindStateBase*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1116:12
(libtablet.so+0x00000023444a)
#12 kudu::Callback<void ()(kudu::Status const&)>::Run(kudu::Status const&)
const /home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:436:12
(libmaster_rpc.so+0x000000011c31)
#13 kudu::consensus::ConsensusRound::NotifyReplicationFinished(kudu::Status
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/consensus.cc:60:3
(libconsensus.so+0x000000096280)
#14
kudu::consensus::ReplicaState::AdvanceCommittedIndexUnlocked(kudu::consensus::OpId
const&, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus_state.cc:624:5
(libconsensus.so+0x0000000f0f2d)
#15
kudu::consensus::ReplicaState::UpdateMajorityReplicatedUnlocked(kudu::consensus::OpId
const&, kudu::consensus::OpId*, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus_state.cc:520:31
(libconsensus.so+0x0000000f0017)
#16
kudu::consensus::RaftConsensus::UpdateMajorityReplicatedUnlocked(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:592:14
(libconsensus.so+0x0000000d76b1)
#17
kudu::consensus::RaftConsensus::UpdateMajorityReplicated(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:583:3
(libconsensus.so+0x0000000d73d0)
#18 non-virtual thunk to
kudu::consensus::RaftConsensus::UpdateMajorityReplicated(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:573:21
(libconsensus.so+0x0000000d79cd)
#19
kudu::consensus::PeerMessageQueue::NotifyObserversOfMajorityReplOpChangeTask(kudu::consensus::OpId)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/consensus_queue.cc:807:5
(libconsensus.so+0x0000000a97f2)
#20 kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>::Run(kudu::consensus::PeerMessageQueue*,
kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:190:12
(libconsensus.so+0x0000000ba5e8)
#21 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>, void
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>,
kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:887:5
(libconsensus.so+0x0000000ba558)
#22 kudu::internal::Invoker<2,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>, void
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId), void
()(kudu::internal::UnretainedWrapper<kudu::consensus::PeerMessageQueue>,
kudu::consensus::OpId)>, void ()(kudu::consensus::PeerMessageQueue*,
kudu::consensus::OpId)>::Run(kudu::internal::BindStateBase*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1145:12
(libconsensus.so+0x0000000ba4d3)
#23 kudu::Callback<void ()()>::Run() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:396:12
(libconsensus.so+0x0000000befdd)
#24 boost::_mfi::cmf0<void, kudu::Callback<void ()()>
>::operator()(kudu::Callback<void ()()> const&) const
/usr/include/boost/bind/mem_fn_template.hpp:117:16
(libconsensus.so+0x0000000c5726)
#25 void boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> >
>::operator()<boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::cmf0<void,
kudu::Callback<void ()()> >&, boost::_bi::list0&, int)
/usr/include/boost/bind/bind.hpp:246:9 (libconsensus.so+0x0000000c568e)
#26 boost::_bi::bind_t<void, boost::_mfi::cmf0<void, kudu::Callback<void
()()> >, boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > >
>::operator()() /usr/include/boost/bind/bind_template.hpp:20:16
(libconsensus.so+0x0000000c5643)
#27
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > > >,
void>::invoke(boost::detail::function::function_buffer&)
/usr/include/boost/function/function_template.hpp:153:11
(libconsensus.so+0x0000000c5401)
#28 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#29 kudu::FunctionRunnable::Run()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:48:5
(libkudu_util.so+0x000000226bcd)
#30 kudu::ThreadPool::DispatchThread(bool)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:343:7
(libkudu_util.so+0x000000224fcf)
#31 boost::_mfi::mf1<void, kudu::ThreadPool,
bool>::operator()(kudu::ThreadPool*, bool) const
/usr/include/boost/bind/mem_fn_template.hpp:162:16
(libkudu_util.so+0x00000022941e)
#32 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)
/usr/include/boost/bind/bind.hpp:306:9 (libkudu_util.so+0x00000022937b)
#33 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()()
/usr/include/boost/bind/bind_template.hpp:20:16 (libkudu_util.so+0x000000229303)
#34
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&)
/usr/include/boost/function/function_template.hpp:153:11
(libkudu_util.so+0x000000229101)
#35 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#36 kudu::Thread::SuperviseThread(void*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:586:3
(libkudu_util.so+0x00000021b55f)
Thread T142 'apply [worker]-' (tid=20640, running) created by thread T124 at:
#0 pthread_create
/home/mpercy/src/kudu/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954
(kudu-tserver+0x00000044a123)
#1 kudu::Thread::StartThread(std::string const&, std::string const&,
boost::function<void ()()> const&, unsigned long, scoped_refptr<kudu::Thread>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:509:15
(libkudu_util.so+0x00000021ade7)
#2 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(bool),
kudu::ThreadPool*, bool>(std::string const&, std::string const&, void
(kudu::ThreadPool::* const&)(bool), kudu::ThreadPool* const&, bool const&,
scoped_refptr<kudu::Thread>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.h:162:12
(libkudu_util.so+0x0000002262ae)
#3 kudu::ThreadPool::CreateThreadUnlocked()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:381:14
(libkudu_util.so+0x000000224304)
#4 kudu::ThreadPool::Submit(std::shared_ptr<kudu::Runnable> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:211:21
(libkudu_util.so+0x000000224902)
#5 kudu::ThreadPool::SubmitFunc(boost::function<void ()()> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:182:10
(libkudu_util.so+0x000000224704)
#6 kudu::ThreadPool::SubmitClosure(kudu::Callback<void ()()> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:178:10
(libkudu_util.so+0x000000224632)
#7 kudu::tablet::TransactionDriver::ApplyAsync()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:358:10
(libtablet.so+0x00000023ae76)
#8 kudu::tablet::TransactionDriver::ReplicationFinished(kudu::Status
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:311:31
(libtablet.so+0x00000023908d)
#9 kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status
const&)>::Run(kudu::tablet::TransactionDriver*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:190:12
(libtablet.so+0x000000234615)
#10 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>,
kudu::tablet::TransactionDriver*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:887:5
(libtablet.so+0x000000234508)
#11 kudu::internal::Invoker<1,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status const&), void
()(kudu::internal::UnretainedWrapper<kudu::tablet::TransactionDriver>)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status
const&)>::Run(kudu::internal::BindStateBase*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1116:12
(libtablet.so+0x00000023444a)
#12 kudu::Callback<void ()(kudu::Status const&)>::Run(kudu::Status const&)
const /home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:436:12
(libmaster_rpc.so+0x000000011c31)
#13 kudu::consensus::ConsensusRound::NotifyReplicationFinished(kudu::Status
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/consensus.cc:60:3
(libconsensus.so+0x000000096280)
#14
kudu::consensus::ReplicaState::AdvanceCommittedIndexUnlocked(kudu::consensus::OpId
const&, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus_state.cc:624:5
(libconsensus.so+0x0000000f0f2d)
#15
kudu::consensus::ReplicaState::UpdateMajorityReplicatedUnlocked(kudu::consensus::OpId
const&, kudu::consensus::OpId*, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus_state.cc:520:31
(libconsensus.so+0x0000000f0017)
#16
kudu::consensus::RaftConsensus::UpdateMajorityReplicatedUnlocked(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:592:14
(libconsensus.so+0x0000000d76b1)
#17
kudu::consensus::RaftConsensus::UpdateMajorityReplicated(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:583:3
(libconsensus.so+0x0000000d73d0)
#18 non-virtual thunk to
kudu::consensus::RaftConsensus::UpdateMajorityReplicated(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:573:21
(libconsensus.so+0x0000000d79cd)
#19
kudu::consensus::PeerMessageQueue::NotifyObserversOfMajorityReplOpChangeTask(kudu::consensus::OpId)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/consensus_queue.cc:807:5
(libconsensus.so+0x0000000a97f2)
#20 kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>::Run(kudu::consensus::PeerMessageQueue*,
kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:190:12
(libconsensus.so+0x0000000ba5e8)
#21 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>, void
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>,
kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:887:5
(libconsensus.so+0x0000000ba558)
#22 kudu::internal::Invoker<2,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>, void
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId), void
()(kudu::internal::UnretainedWrapper<kudu::consensus::PeerMessageQueue>,
kudu::consensus::OpId)>, void ()(kudu::consensus::PeerMessageQueue*,
kudu::consensus::OpId)>::Run(kudu::internal::BindStateBase*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1145:12
(libconsensus.so+0x0000000ba4d3)
#23 kudu::Callback<void ()()>::Run() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:396:12
(libconsensus.so+0x0000000befdd)
#24 boost::_mfi::cmf0<void, kudu::Callback<void ()()>
>::operator()(kudu::Callback<void ()()> const&) const
/usr/include/boost/bind/mem_fn_template.hpp:117:16
(libconsensus.so+0x0000000c5726)
#25 void boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> >
>::operator()<boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::cmf0<void,
kudu::Callback<void ()()> >&, boost::_bi::list0&, int)
/usr/include/boost/bind/bind.hpp:246:9 (libconsensus.so+0x0000000c568e)
#26 boost::_bi::bind_t<void, boost::_mfi::cmf0<void, kudu::Callback<void
()()> >, boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > >
>::operator()() /usr/include/boost/bind/bind_template.hpp:20:16
(libconsensus.so+0x0000000c5643)
#27
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > > >,
void>::invoke(boost::detail::function::function_buffer&)
/usr/include/boost/function/function_template.hpp:153:11
(libconsensus.so+0x0000000c5401)
#28 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#29 kudu::FunctionRunnable::Run()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:48:5
(libkudu_util.so+0x000000226bcd)
#30 kudu::ThreadPool::DispatchThread(bool)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:343:7
(libkudu_util.so+0x000000224fcf)
#31 boost::_mfi::mf1<void, kudu::ThreadPool,
bool>::operator()(kudu::ThreadPool*, bool) const
/usr/include/boost/bind/mem_fn_template.hpp:162:16
(libkudu_util.so+0x00000022941e)
#32 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)
/usr/include/boost/bind/bind.hpp:306:9 (libkudu_util.so+0x00000022937b)
#33 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()()
/usr/include/boost/bind/bind_template.hpp:20:16 (libkudu_util.so+0x000000229303)
#34
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&)
/usr/include/boost/function/function_template.hpp:153:11
(libkudu_util.so+0x000000229101)
#35 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#36 kudu::Thread::SuperviseThread(void*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:586:3
(libkudu_util.so+0x00000021b55f)
Thread T134 'apply [worker]-' (tid=20632, running) created by thread T124 at:
#0 pthread_create
/home/mpercy/src/kudu/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954
(kudu-tserver+0x00000044a123)
#1 kudu::Thread::StartThread(std::string const&, std::string const&,
boost::function<void ()()> const&, unsigned long, scoped_refptr<kudu::Thread>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:509:15
(libkudu_util.so+0x00000021ade7)
#2 kudu::Status kudu::Thread::Create<void (kudu::ThreadPool::*)(bool),
kudu::ThreadPool*, bool>(std::string const&, std::string const&, void
(kudu::ThreadPool::* const&)(bool), kudu::ThreadPool* const&, bool const&,
scoped_refptr<kudu::Thread>*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.h:162:12
(libkudu_util.so+0x0000002262ae)
#3 kudu::ThreadPool::CreateThreadUnlocked()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:381:14
(libkudu_util.so+0x000000224304)
#4 kudu::ThreadPool::Submit(std::shared_ptr<kudu::Runnable> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:211:21
(libkudu_util.so+0x000000224902)
#5 kudu::ThreadPool::SubmitFunc(boost::function<void ()()> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:182:10
(libkudu_util.so+0x000000224704)
#6 kudu::ThreadPool::SubmitClosure(kudu::Callback<void ()()> const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:178:10
(libkudu_util.so+0x000000224632)
#7 kudu::tablet::TransactionDriver::ApplyAsync()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:358:10
(libtablet.so+0x00000023ae76)
#8 kudu::tablet::TransactionDriver::ReplicationFinished(kudu::Status
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/tablet/transactions/transaction_driver.cc:311:31
(libtablet.so+0x00000023908d)
#9 kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status
const&)>::Run(kudu::tablet::TransactionDriver*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:190:12
(libtablet.so+0x000000234615)
#10 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>,
kudu::tablet::TransactionDriver*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:887:5
(libtablet.so+0x000000234508)
#11 kudu::internal::Invoker<1,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::tablet::TransactionDriver::*)(kudu::Status const&)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status const&), void
()(kudu::internal::UnretainedWrapper<kudu::tablet::TransactionDriver>)>, void
()(kudu::tablet::TransactionDriver*, kudu::Status
const&)>::Run(kudu::internal::BindStateBase*, kudu::Status const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1116:12
(libtablet.so+0x00000023444a)
#12 kudu::Callback<void ()(kudu::Status const&)>::Run(kudu::Status const&)
const /home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:436:12
(libmaster_rpc.so+0x000000011c31)
#13 kudu::consensus::ConsensusRound::NotifyReplicationFinished(kudu::Status
const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/consensus.cc:60:3
(libconsensus.so+0x000000096280)
#14
kudu::consensus::ReplicaState::AdvanceCommittedIndexUnlocked(kudu::consensus::OpId
const&, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus_state.cc:624:5
(libconsensus.so+0x0000000f0f2d)
#15
kudu::consensus::ReplicaState::UpdateMajorityReplicatedUnlocked(kudu::consensus::OpId
const&, kudu::consensus::OpId*, bool*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus_state.cc:520:31
(libconsensus.so+0x0000000f0017)
#16
kudu::consensus::RaftConsensus::UpdateMajorityReplicatedUnlocked(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:592:14
(libconsensus.so+0x0000000d76b1)
#17
kudu::consensus::RaftConsensus::UpdateMajorityReplicated(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:583:3
(libconsensus.so+0x0000000d73d0)
#18 non-virtual thunk to
kudu::consensus::RaftConsensus::UpdateMajorityReplicated(kudu::consensus::OpId
const&, kudu::consensus::OpId*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/raft_consensus.cc:573:21
(libconsensus.so+0x0000000d79cd)
#19
kudu::consensus::PeerMessageQueue::NotifyObserversOfMajorityReplOpChangeTask(kudu::consensus::OpId)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/consensus/consensus_queue.cc:807:5
(libconsensus.so+0x0000000a97f2)
#20 kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>::Run(kudu::consensus::PeerMessageQueue*,
kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:190:12
(libconsensus.so+0x0000000ba5e8)
#21 kudu::internal::InvokeHelper<false, void,
kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>, void
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId
const&)>::MakeItSo(kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>,
kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId const&)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:887:5
(libconsensus.so+0x0000000ba558)
#22 kudu::internal::Invoker<2,
kudu::internal::BindState<kudu::internal::RunnableAdapter<void
(kudu::consensus::PeerMessageQueue::*)(kudu::consensus::OpId)>, void
()(kudu::consensus::PeerMessageQueue*, kudu::consensus::OpId), void
()(kudu::internal::UnretainedWrapper<kudu::consensus::PeerMessageQueue>,
kudu::consensus::OpId)>, void ()(kudu::consensus::PeerMessageQueue*,
kudu::consensus::OpId)>::Run(kudu::internal::BindStateBase*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/bind_internal.h:1145:12
(libconsensus.so+0x0000000ba4d3)
#23 kudu::Callback<void ()()>::Run() const
/home/mpercy/src/kudu/build/tsan/../../src/kudu/gutil/callback.h:396:12
(libconsensus.so+0x0000000befdd)
#24 boost::_mfi::cmf0<void, kudu::Callback<void ()()>
>::operator()(kudu::Callback<void ()()> const&) const
/usr/include/boost/bind/mem_fn_template.hpp:117:16
(libconsensus.so+0x0000000c5726)
#25 void boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> >
>::operator()<boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::cmf0<void,
kudu::Callback<void ()()> >&, boost::_bi::list0&, int)
/usr/include/boost/bind/bind.hpp:246:9 (libconsensus.so+0x0000000c568e)
#26 boost::_bi::bind_t<void, boost::_mfi::cmf0<void, kudu::Callback<void
()()> >, boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > >
>::operator()() /usr/include/boost/bind/bind_template.hpp:20:16
(libconsensus.so+0x0000000c5643)
#27
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::cmf0<void, kudu::Callback<void ()()> >,
boost::_bi::list1<boost::_bi::value<kudu::Callback<void ()()> > > >,
void>::invoke(boost::detail::function::function_buffer&)
/usr/include/boost/function/function_template.hpp:153:11
(libconsensus.so+0x0000000c5401)
#28 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#29 kudu::FunctionRunnable::Run()
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:48:5
(libkudu_util.so+0x000000226bcd)
#30 kudu::ThreadPool::DispatchThread(bool)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/threadpool.cc:343:7
(libkudu_util.so+0x000000224fcf)
#31 boost::_mfi::mf1<void, kudu::ThreadPool,
bool>::operator()(kudu::ThreadPool*, bool) const
/usr/include/boost/bind/mem_fn_template.hpp:162:16
(libkudu_util.so+0x00000022941e)
#32 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)
/usr/include/boost/bind/bind.hpp:306:9 (libkudu_util.so+0x00000022937b)
#33 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()()
/usr/include/boost/bind/bind_template.hpp:20:16 (libkudu_util.so+0x000000229303)
#34
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&)
/usr/include/boost/function/function_template.hpp:153:11
(libkudu_util.so+0x000000229101)
#35 boost::function0<void>::operator()() const
/usr/include/boost/function/function_template.hpp:1012:12
(libkrpc.so+0x0000000cce71)
#36 kudu::Thread::SuperviseThread(void*)
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/thread.cc:586:3
(libkudu_util.so+0x00000021b55f)
SUMMARY: ThreadSanitizer: data race
/home/mpercy/src/kudu/build/tsan/../../src/kudu/util/inline_slice.h:116:7 in
void kudu::InlineSlice<8ul,
true>::set<kudu::ThreadSafeMemoryTrackingArena>(unsigned char const*, unsigned
long, kudu::ThreadSafeMemoryTrackingArena*)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)