[ 
https://issues.apache.org/jira/browse/KUDU-1224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15222430#comment-15222430
 ] 

Todd Lipcon commented on KUDU-1224:
-----------------------------------

Saw this in a run of alter_table-randomized-test today, so it's still an issue.

> Use-after-free in RowsetTree
> ----------------------------
>
>                 Key: KUDU-1224
>                 URL: https://issues.apache.org/jira/browse/KUDU-1224
>             Project: Kudu
>          Issue Type: Bug
>          Components: tablet
>    Affects Versions: Public beta
>            Reporter: Mike Percy
>            Priority: Critical
>         Attachments: mt-tablet-test.txt.gz
>
>
> Saw the following in a Jenkins run under ASAN. Also attaching test log.
> {noformat}
> ==2700==ERROR: AddressSanitizer: heap-use-after-free on address 
> 0x6030003b4aa8 at pc 0x7f47fd4145f5 bp 0x7f47da896240 sp 0x7f47da896238
> READ of size 4 at 0x6030003b4aa8 thread T357 (test0-3061)
>     #0 0x7f47fd4145f4 in strings::fastmemcmp_inlined(void const*, void 
> const*, unsigned long) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/gutil/strings/fastmem.h:89:7
>     #1 0x7f47fd413ce4 in kudu::Slice::compare(kudu::Slice const&) const 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/slice.h:196:11
>     #2 0x7f47fd5783c5 in kudu::tablet::(anonymous 
> namespace)::RSEndpointBySliceCompare(kudu::tablet::RowSetTree::RSEndpoint 
> const&, kudu::tablet::RowSetTree::RSEndpoint const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/rowset_tree.cc:39:19
>     #3 0x7f47fd580a94 in void 
> std::__insertion_sort<__gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*,
>  std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, bool 
> (*)(kudu::tablet::RowSetTree::RSEndpoint const&, 
> kudu::tablet::RowSetTree::RSEndpoint 
> const&)>(__gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, 
> __gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, bool 
> (*)(kudu::tablet::RowSetTree::RSEndpoint const&, 
> kudu::tablet::RowSetTree::RSEndpoint const&)) 
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algo.h:2128:8
>     #4 0x7f47fd57e774 in void 
> std::__final_insertion_sort<__gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*,
>  std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, bool 
> (*)(kudu::tablet::RowSetTree::RSEndpoint const&, 
> kudu::tablet::RowSetTree::RSEndpoint 
> const&)>(__gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, 
> __gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, bool 
> (*)(kudu::tablet::RowSetTree::RSEndpoint const&, 
> kudu::tablet::RowSetTree::RSEndpoint const&)) 
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algo.h:2198:2
>     #5 0x7f47fd57a5b6 in void 
> std::sort<__gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, bool 
> (*)(kudu::tablet::RowSetTree::RSEndpoint const&, 
> kudu::tablet::RowSetTree::RSEndpoint 
> const&)>(__gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, 
> __gnu_cxx::__normal_iterator<kudu::tablet::RowSetTree::RSEndpoint*, 
> std::vector<kudu::tablet::RowSetTree::RSEndpoint, 
> std::allocator<kudu::tablet::RowSetTree::RSEndpoint> > >, bool 
> (*)(kudu::tablet::RowSetTree::RSEndpoint const&, 
> kudu::tablet::RowSetTree::RSEndpoint const&)) 
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algo.h:5260:4
>     #6 0x7f47fd577dd8 in 
> kudu::tablet::RowSetTree::Reset(std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>,
>  std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/rowset_tree.cc:119:3
>     #7 0x7f47fd3df615 in 
> kudu::tablet::Tablet::ModifyRowSetTree(kudu::tablet::RowSetTree const&, 
> std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>, 
> std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&, 
> std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>, 
> std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&, 
> kudu::tablet::RowSetTree*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:550:3
>     #8 0x7f47fd3dfc46 in 
> kudu::tablet::Tablet::AtomicSwapRowSetsUnlocked(std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>,
>  std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&, 
> std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>, 
> std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:564:3
>     #9 0x7f47fd3dfa7d in 
> kudu::tablet::Tablet::AtomicSwapRowSets(std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>,
>  std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&, 
> std::vector<std::tr1::shared_ptr<kudu::tablet::RowSet>, 
> std::allocator<std::tr1::shared_ptr<kudu::tablet::RowSet> > > const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:556:3
>     #10 0x7f47fd3e2e12 in 
> kudu::tablet::Tablet::DoCompactionOrFlush(kudu::tablet::RowSetsInCompaction 
> const&, long) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:1308:3
>     #11 0x7f47fd3e1021 in 
> kudu::tablet::Tablet::FlushInternal(kudu::tablet::RowSetsInCompaction const&, 
> std::tr1::shared_ptr<kudu::tablet::MemRowSet> const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:656:3
>     #12 0x7f47fd3e0584 in kudu::tablet::Tablet::FlushUnlocked() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:599:10
>     #13 0x7f47fd3e0142 in kudu::tablet::Tablet::Flush() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:581:10
>     #14 0x5aa2f6 in 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::FlushThread(int)
>  
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:267:9
>     #15 0x5aff5d in boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>, 
> int>, 
> boost::_bi::list2<boost::_bi::value<kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>*>,
>  boost::_bi::value<int> > >::operator()() 
> /usr/include/boost/bind/bind_template.hpp:20:27
>     #16 0x7f47f7fe99de in boost::function0<void>::operator()() const 
> /usr/include/boost/function/function_template.hpp:1012:12
>     #17 0x7f47f55370c1 in kudu::Thread::SuperviseThread(void*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.cc:496:3
>     #18 0x3d27207850 in start_thread (/lib64/libpthread.so.0+0x3d27207850)
>     #19 0x3d26ee894c in clone (/lib64/libc.so.6+0x3d26ee894c)
> 0x6030003b4aa8 is located 24 bytes inside of 29-byte region 
> [0x6030003b4a90,0x6030003b4aad)
> freed by thread T361 (test0-3065) here:
>     #0 0x53f390 in operator delete(void*) 
> (/data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/build/fastdebug/mt-tablet-test+0x53f390)
>     #0 0x3d2da9d4c8 in ?? ??:0
>     #2 0x7f47fd4a4fa2 in kudu::tablet::CFileSet::~CFileSet() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/cfile_set.cc:70:23
>     #3 0x54f3f5 in 
> std::tr1::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() 
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tr1_impl/boost_sp_counted_base.h:140:6
>     #4 0x7f47fd50b389 in void std::tr1::__shared_ptr<kudu::tablet::CFileSet, 
> (__gnu_cxx::_Lock_policy)2>::reset<kudu::tablet::CFileSet>(kudu::tablet::CFileSet*)
>  
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tr1/shared_ptr.h:505:4
>     #5 0x7f47fd504078 in 
> kudu::tablet::DiskRowSet::MajorCompactDeltaStoresWithColumnIds(std::vector<int,
>  std::allocator<int> > const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/diskrowset.cc:521:5
>     #6 0x7f47fd503bf5 in kudu::tablet::DiskRowSet::MajorCompactDeltaStores() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/diskrowset.cc:495:10
>     #7 0x7f47fd3e7fa6 in 
> kudu::tablet::Tablet::CompactWorstDeltas(kudu::tablet::RowSet::DeltaCompactionType)
>  
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:1628:5
>     #8 0x5b11c4 in 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::CompactDeltas(kudu::tablet::RowSet::DeltaCompactionType)
>  
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:303:7
>     #9 0x5aff5d in boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>, 
> int>, 
> boost::_bi::list2<boost::_bi::value<kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>*>,
>  boost::_bi::value<int> > >::operator()() 
> /usr/include/boost/bind/bind_template.hpp:20:27
>     #10 0x7f47f7fe99de in boost::function0<void>::operator()() const 
> /usr/include/boost/function/function_template.hpp:1012:12
>     #11 0x7f47f55370c1 in kudu::Thread::SuperviseThread(void*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.cc:496:3
>     #12 0x3d27207850 in start_thread (/lib64/libpthread.so.0+0x3d27207850)
> previously allocated by thread T357 (test0-3061) here:
>     #0 0x53ed90 in operator new(unsigned long) 
> (/data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/build/fastdebug/mt-tablet-test+0x53ed90)
>     #1 0x3d2da9c3c8 in ?? ??:0
>     #2 0x7f47fd4a68e9 in kudu::tablet::CFileSet::LoadMinMaxKeys() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/cfile_set.cc:144:8
>     #3 0x7f47fd4a56e7 in kudu::tablet::CFileSet::Open() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/cfile_set.cc:100:3
>     #4 0x7f47fd50319f in kudu::tablet::DiskRowSet::Open() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/diskrowset.cc:462:3
>     #5 0x7f47fd502f3f in 
> kudu::tablet::DiskRowSet::Open(std::tr1::shared_ptr<kudu::tablet::RowSetMetadata>
>  const&, kudu::log::LogAnchorRegistry*, 
> std::tr1::shared_ptr<kudu::tablet::DiskRowSet>*, 
> std::tr1::shared_ptr<kudu::MemTracker> const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/diskrowset.cc:444:3
>     #6 0x7f47fd3e2022 in 
> kudu::tablet::Tablet::DoCompactionOrFlush(kudu::tablet::RowSetsInCompaction 
> const&, long) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:1185:18
>     #7 0x7f47fd3e1021 in 
> kudu::tablet::Tablet::FlushInternal(kudu::tablet::RowSetsInCompaction const&, 
> std::tr1::shared_ptr<kudu::tablet::MemRowSet> const&) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:656:3
>     #8 0x7f47fd3e0584 in kudu::tablet::Tablet::FlushUnlocked() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:599:10
>     #9 0x7f47fd3e0142 in kudu::tablet::Tablet::Flush() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/tablet.cc:581:10
>     #10 0x5aa2f6 in 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::FlushThread(int)
>  
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:267:9
>     #11 0x5aff5d in boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>, 
> int>, 
> boost::_bi::list2<boost::_bi::value<kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>*>,
>  boost::_bi::value<int> > >::operator()() 
> /usr/include/boost/bind/bind_template.hpp:20:27
>     #12 0x7f47f7fe99de in boost::function0<void>::operator()() const 
> /usr/include/boost/function/function_template.hpp:1012:12
>     #13 0x7f47f55370c1 in kudu::Thread::SuperviseThread(void*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.cc:496:3
>     #14 0x3d27207850 in start_thread (/lib64/libpthread.so.0+0x3d27207850)
> Thread T357 (test0-3061) created by T0 here:
>     #0 0x4923b9 in __interceptor_pthread_create 
> (/data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/build/fastdebug/mt-tablet-test+0x4923b9)
>     #1 0x7f47f5536851 in kudu::Thread::StartThread(std::string const&, 
> std::string const&, boost::function<void ()()> const&, 
> scoped_refptr<kudu::Thread>*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.cc:424:13
>     #2 0x5af15a in kudu::Status kudu::Thread::Create<void 
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*)(int),
>  
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>*, 
> int>(std::string const&, std::string const&, void 
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*
>  const&)(int), 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>* 
> const&, int const&, scoped_refptr<kudu::Thread>*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.h:143:12
>     #3 0x5a8fce in void 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::StartThreads<void
>  
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*)(int)>(int,
>  void 
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*
>  const&)(int)) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:374:7
>     #4 0x5bb055 in 
> kudu::tablet::MultiThreadedTabletTest_DeleteAndReinsert_Test<kudu::tablet::NullableValueTestSetup>::TestBody()
>  
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:442:3
>     #5 0x7f47f32a7f2a in 
> HandleSehExceptionsInMethodIfSupported<testing::Test, void> 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2078
>     #6 0x7f47f32a7f2a in void 
> testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, 
> void>(testing::Test*, void (testing::Test::*)(), char const*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2114
>     #7 0x7f47f3299526 in testing::Test::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2151
>     #8 0x7f47f32995fd in testing::TestInfo::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2326
>     #9 0x7f47f3299736 in testing::TestCase::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2444
>     #10 0x7f47f329da36 in testing::internal::UnitTestImpl::RunAllTests() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:4315
>     #11 0x7f47f32a7afa in 
> HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2078
>     #12 0x7f47f32a7afa in bool 
> testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
>  bool>(testing::internal::UnitTestImpl*, bool 
> (testing::internal::UnitTestImpl::*)(), char const*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2114
>     #13 0x7f47f3298c0f in testing::UnitTest::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:3929
>     #14 0x7f47fc976f6c in main 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/test_main.cc:45:13
>     #15 0x3d26e1ecdc in __libc_start_main (/lib64/libc.so.6+0x3d26e1ecdc)
> Thread T361 (test0-3065) created by T0 here:
>     #0 0x4923b9 in __interceptor_pthread_create 
> (/data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/build/fastdebug/mt-tablet-test+0x4923b9)
>     #1 0x7f47f5536851 in kudu::Thread::StartThread(std::string const&, 
> std::string const&, boost::function<void ()()> const&, 
> scoped_refptr<kudu::Thread>*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.cc:424:13
>     #2 0x5af15a in kudu::Status kudu::Thread::Create<void 
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*)(int),
>  
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>*, 
> int>(std::string const&, std::string const&, void 
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*
>  const&)(int), 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>* 
> const&, int const&, scoped_refptr<kudu::Thread>*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/thread.h:143:12
>     #3 0x5a8fce in void 
> kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::StartThreads<void
>  
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*)(int)>(int,
>  void 
> (kudu::tablet::MultiThreadedTabletTest<kudu::tablet::NullableValueTestSetup>::*
>  const&)(int)) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:374:7
>     #4 0x5bb1b0 in 
> kudu::tablet::MultiThreadedTabletTest_DeleteAndReinsert_Test<kudu::tablet::NullableValueTestSetup>::TestBody()
>  
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/tablet/mt-tablet-test.cc:447:3
>     #5 0x7f47f32a7f2a in 
> HandleSehExceptionsInMethodIfSupported<testing::Test, void> 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2078
>     #6 0x7f47f32a7f2a in void 
> testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, 
> void>(testing::Test*, void (testing::Test::*)(), char const*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2114
>     #7 0x7f47f3299526 in testing::Test::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2151
>     #8 0x7f47f32995fd in testing::TestInfo::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2326
>     #9 0x7f47f3299736 in testing::TestCase::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2444
>     #10 0x7f47f329da36 in testing::internal::UnitTestImpl::RunAllTests() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:4315
>     #11 0x7f47f32a7afa in 
> HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2078
>     #12 0x7f47f32a7afa in bool 
> testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
>  bool>(testing::internal::UnitTestImpl*, bool 
> (testing::internal::UnitTestImpl::*)(), char const*) 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:2114
>     #13 0x7f47f3298c0f in testing::UnitTest::Run() 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/thirdparty/gmock-1.7.0/gtest/src/gtest.cc:3929
>     #14 0x7f47fc976f6c in main 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/util/test_main.cc:45:13
>     #15 0x3d26e1ecdc in __libc_start_main (/lib64/libc.so.6+0x3d26e1ecdc)
> SUMMARY: AddressSanitizer: heap-use-after-free 
> /data1/jenkins-workspace/kudu-public-gerrit/BUILD_TYPE/ASAN/label/kudu-gerrit-slaves/src/kudu/gutil/strings/fastmem.h:89:7
>  in strings::fastmemcmp_inlined(void const*, void const*, unsigned long)
> Shadow bytes around the buggy address:
>   0x0c068006e900: fd fa fa fa fd fd fd fa fa fa fd fd fd fa fa fa
>   0x0c068006e910: fd fd fd fd fa fa fd fd fd fd fa fa fd fd fd fa
>   0x0c068006e920: fa fa fd fd fd fa fa fa fd fd fd fd fa fa fa fa
>   0x0c068006e930: fa fa fa fa fd fd fd fd fa fa fd fd fd fa fa fa
>   0x0c068006e940: fd fd fd fa fa fa fd fd fd fd fa fa fd fd fd fa
> =>0x0c068006e950: fa fa fd fd fd[fd]fa fa fd fd fd fd fa fa fd fd
>   0x0c068006e960: fd fd fa fa fd fd fd fa fa fa 00 00 00 03 fa fa
>   0x0c068006e970: fd fd fd fa fa fa fd fd fd fd fa fa fd fd fd fd
>   0x0c068006e980: fa fa fd fd fd fd fa fa fd fd fd fd fa fa fd fd
>   0x0c068006e990: fd fd fa fa fd fd fd fd fa fa fd fd fd fa fa fa
>   0x0c068006e9a0: fd fd fd fd fa fa fd fd fd fd fa fa fd fd fd fd
> Shadow byte legend (one shadow byte represents 8 application bytes):
>   Addressable:           00
>   Partially addressable: 01 02 03 04 05 06 07
>   Heap left redzone:       fa
>   Heap right redzone:      fb
>   Freed heap region:       fd
>   Stack left redzone:      f1
>   Stack mid redzone:       f2
>   Stack right redzone:     f3
>   Stack partial redzone:   f4
>   Stack after return:      f5
>   Stack use after scope:   f8
>   Global redzone:          f9
>   Global init order:       f6
>   Poisoned by user:        f7
>   Container overflow:      fc
>   Array cookie:            ac
>   Intra object redzone:    bb
>   ASan internal:           fe
>   Left alloca redzone:     ca
>   Right alloca redzone:    cb
> ==2700==ABORTING
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to