[
https://issues.apache.org/jira/browse/KUDU-1509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15357881#comment-15357881
]
Todd Lipcon commented on KUDU-1509:
-----------------------------------
You sure you had the suppressions set properly? These should be suppressed.
> 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)