[ https://issues.apache.org/jira/browse/KUDU-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon updated KUDU-2388: ------------------------------ Resolution: Fixed Fix Version/s: 1.8.0 Status: Resolved (was: In Review) > TSAN race in MaintenanceManager::UnregisterOp > --------------------------------------------- > > Key: KUDU-2388 > URL: https://issues.apache.org/jira/browse/KUDU-2388 > Project: Kudu > Issue Type: Bug > Components: tserver > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Priority: Major > Fix For: 1.8.0 > > > Saw a flaky failure of > TabletReplacementITest.TestMasterTombstoneOldReplicaOnReport with the > following TSAN race: > {code} > WARNING: ThreadSanitizer: data race (pid=17822) Read of size 1 at > 0x7b4c000054e8 by thread T59 (mutexes: write M1750): > ... > #3 > strings::internal::SubstituteArg::SubstituteArg(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/strings/substitute.h:76 > (libtserver.so+0x9edb0) > #4 kudu::MaintenanceManager::LogPrefix() const > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/maintenance_manager.cc:545:31 > (libkudu_util.so+0x167791) > #5 kudu::MaintenanceManager::UnregisterOp(kudu::MaintenanceOp*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/maintenance_manager.cc:235:3 > (libkudu_util.so+0x165963) > #6 kudu::MaintenanceOp::Unregister() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/maintenance_manager.cc:123:13 > (libkudu_util.so+0x1654fe) > #7 kudu::tablet::Tablet::UnregisterMaintenanceOps() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tablet/tablet.cc:1405:9 > (libtablet.so+0xfb5af) > #8 kudu::tablet::TabletReplica::Stop() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tablet/tablet_replica.cc:271:25 > (libtablet.so+0x146e66) > #9 > kudu::tserver::TSTabletManager::DeleteTablet(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&, > kudu::tablet::TabletDataState, boost::optional<long> const&, > kudu::tserver::TabletServerErrorPB_Code*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tserver/ts_tablet_manager.cc:830:12 > (libtserver.so+0x106d62) > Previous write of size 8 at 0x7b4c000054e8 by main thread: > #0 memcpy > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:655 > (kudu-tserver+0x449e4c) > #1 std::__1::basic_string<char, std::__1::char_traits<char>, > std::__1::allocator<char> >::__move_assign(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >&, > std::__1::integral_constant<bool, true>) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/string:2044:18 > (libkudu_util.so+0x16664d) > #2 std::__1::basic_string<char, std::__1::char_traits<char>, > std::__1::allocator<char> >::operator=(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >&&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/string:2055 > (libkudu_util.so+0x16664d) > #3 kudu::MaintenanceManager::Init(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/maintenance_manager.cc:169 > (libkudu_util.so+0x16664d) > ... > Location is heap block of size 416 at 0x7b4c00005400 allocated by main > thread: > #0 operator new(unsigned long) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-4.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:41 > (kudu-tserver+0x4c1163) > #1 > kudu::tserver::TabletServer::TabletServer(kudu::tserver::TabletServerOptions > const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tserver/tablet_server.cc:60:26 > (libtserver.so+0xda8ff) > #2 kudu::tserver::TabletServerMain(int, char**) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tserver/tablet_server_main.cc:78:16 > (kudu-tserver+0x4c3ab3) > #3 main > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tserver/tablet_server_main.cc:99:10 > (kudu-tserver+0x4c37ee) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)