[ https://issues.apache.org/jira/browse/KUDU-2480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Wong resolved KUDU-2480. ------------------------------- Resolution: Fixed Fix Version/s: 1.8.0 Dan merged this as 4479c20. > tsan failure of master-stress-test > ---------------------------------- > > Key: KUDU-2480 > URL: https://issues.apache.org/jira/browse/KUDU-2480 > Project: Kudu > Issue Type: Test > Reporter: Hao Hao > Assignee: Dan Burkert > Priority: Major > Fix For: 1.8.0 > > Attachments: master-stress-test.txt > > > master-stress-test recently has been very flaky(~24%). One of the failure log > {noformat}WARNING: ThreadSanitizer: data race (pid=26513) > Read of size 8 at 0x7ffb5e5b88b8 by thread T65: > #0 kudu::Status::operator=(kudu::Status const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/status.h:469:7 > (libmaster.so+0x10bd00) > #1 kudu::Synchronizer::StatusCB(kudu::Status const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/async_util.h:44:8 > (libmaster.so+0x10bc40) > #2 kudu::internal::RunnableAdapter<void (kudu::Synchronizer::*)(kudu::Status > const&)>::Run(kudu::Synchronizer*, kudu::Status const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:192:12 > (libmaster.so+0x10c708) > #3 kudu::internal::InvokeHelper<false, void, > kudu::internal::RunnableAdapter<void (kudu::Synchronizer::*)(kudu::Status > const&)>, void ()(kudu::Synchronizer*, kudu::Status > const&)>::MakeItSo(kudu::internal::RunnableAdapter<void > (kudu::Synchronizer::*)(kudu::Status const&)>, kudu::Synchronizer*, > kudu::Status const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:889:14 > (libmaster.so+0x10c5e8) > #4 kudu::internal::Invoker<1, > kudu::internal::BindState<kudu::internal::RunnableAdapter<void > (kudu::Synchronizer::*)(kudu::Status const&)>, void ()(kudu::Synchronizer*, > kudu::Status const&), void > ()(kudu::internal::UnretainedWrapper<kudu::Synchronizer>)>, void > ()(kudu::Synchronizer*, kudu::Status > const&)>::Run(kudu::internal::BindStateBase*, kudu::Status const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/bind_internal.h:1118:12 > (libmaster.so+0x10c51a) > #5 kudu::Callback<void ()(kudu::Status const&)>::Run(kudu::Status const&) > const > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/gutil/callback.h:436:12 > (libmaster.so+0x10b831) > #6 kudu::master::HmsNotificationLogListenerTask::RunLoop() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/hms_notification_log_listener.cc:136:10 > (libmaster.so+0x108e0a) > #7 boost::_mfi::mf0<void, > kudu::master::HmsNotificationLogListenerTask>::operator()(kudu::master::HmsNotificationLogListenerTask*) > const > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29 > (libmaster.so+0x110ea9) > #8 void > boost::_bi::list1<boost::_bi::value<kudu::master::HmsNotificationLogListenerTask*> > >::operator()<boost::_mfi::mf0<void, > kudu::master::HmsNotificationLogListenerTask>, > boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, > kudu::master::HmsNotificationLogListenerTask>&, boost::_bi::list0&, int) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9 > (libmaster.so+0x110dfa) > #9 boost::_bi::bind_t<void, boost::_mfi::mf0<void, > kudu::master::HmsNotificationLogListenerTask>, > boost::_bi::list1<boost::_bi::value<kudu::master::HmsNotificationLogListenerTask*> > > >::operator()() > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16 > (libmaster.so+0x110d83) > #10 > boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, > boost::_mfi::mf0<void, kudu::master::HmsNotificationLogListenerTask>, > boost::_bi::list1<boost::_bi::value<kudu::master::HmsNotificationLogListenerTask*> > > >, void>::invoke(boost::detail::function::function_buffer&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11 > (libmaster.so+0x110b79) > #11 boost::function0<void>::operator()() const > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14 > (libkrpc.so+0xb64b1) > #12 kudu::Thread::SuperviseThread(void*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:603:3 > (libkudu_util.so+0x1bd8b4) > Previous write of size 8 at 0x7ffb5e5b88b8 by thread T24 (mutexes: read > M1468): > #0 > boost::intrusive::circular_list_algorithms<boost::intrusive::list_node_traits<void*> > >::init(boost::intrusive::list_node<void*>* const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/intrusive/circular_list_algorithms.hpp:72:22 > (libkrpc.so+0x99c92) > #1 > boost::intrusive::generic_hook<boost::intrusive::circular_list_algorithms<boost::intrusive::list_node_traits<void*> > >, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, > (boost::intrusive::base_hook_type)1>::generic_hook() > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/intrusive/detail/generic_hook.hpp:174:10 > (libkrpc.so+0xc4669) > #2 boost::intrusive::list_base_hook<void, void, void>::list_base_hook() > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/intrusive/list_hook.hpp:83:7 > (libkrpc.so+0xc2049) > #3 kudu::rpc::ReactorTask::ReactorTask() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/reactor.cc:262:14 > (libkrpc.so+0xbd5fb) > #4 > kudu::rpc::QueueTransferTask::QueueTransferTask(gscoped_ptr<kudu::rpc::OutboundTransfer, > kudu::DefaultDeleter<kudu::rpc::OutboundTransfer> >, kudu::rpc::Connection*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/connection.cc:432:3 > (libkrpc.so+0x98ea4) > #5 > kudu::rpc::Connection::QueueResponseForCall(gscoped_ptr<kudu::rpc::InboundCall, > kudu::DefaultDeleter<kudu::rpc::InboundCall> >) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/connection.cc:474:33 > (libkrpc.so+0x94d79) > #6 kudu::rpc::InboundCall::Respond(google::protobuf::MessageLite const&, > bool) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/inbound_call.cc:165:10 > (libkrpc.so+0xa11b9) > #7 kudu::rpc::InboundCall::RespondSuccess(google::protobuf::MessageLite > const&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/inbound_call.cc:109:3 > (libkrpc.so+0xa0fd5) > #8 kudu::rpc::RpcContext::RespondSuccess() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/rpc_context.cc:77:12 > (libkrpc.so+0xd5b35) > #9 > kudu::master::MasterServiceImpl::AlterTable(kudu::master::AlterTableRequestPB > const*, kudu::master::AlterTableResponsePB*, kudu::rpc::RpcContext*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/master/master_service.cc:350:8 > (libmaster.so+0x128903) > #10 > kudu::master::MasterServiceIf::MasterServiceIf(scoped_refptr<kudu::MetricEntity> > const&, scoped_refptr<kudu::rpc::ResultTracker> > const&)::$_13::operator()(google::protobuf::Message const*, > google::protobuf::Message*, kudu::rpc::RpcContext*) const > /data/somelongdirectorytoavoidrpathissues/src/kudu/build/tsan/src/kudu/master/master.service.cc:259:13 > (libmaster_proto.so+0xe2544) > #11 > _ZNSt3__18__invokeIRZN4kudu6master15MasterServiceIfC1ERK13scoped_refptrINS1_12MetricEntityEERKS4_INS1_3rpc13ResultTrackerEEE4$_13JPKN6google8protobuf7MessageEPSI_PNS9_10RpcContextEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSO_DpOSP_ > > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/type_traits:4482:1 > (libmaster_proto.so+0xe24d1) > #12 > _ZNSt3__128__invoke_void_return_wrapperIvE6__callIJRZN4kudu6master15MasterServiceIfC1ERK13scoped_refptrINS3_12MetricEntityEERKS6_INS3_3rpc13ResultTrackerEEE4$_13PKN6google8protobuf7MessageEPSK_PNSB_10RpcContextEEEEvDpOT_ > > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/__functional_base:349 > (libmaster_proto.so+0xe24d1) > #13 > std::__1::__function::__func<kudu::master::MasterServiceIf::MasterServiceIf(scoped_refptr<kudu::MetricEntity> > const&, scoped_refptr<kudu::rpc::ResultTracker> const&)::$_13, > std::__1::allocator<kudu::master::MasterServiceIf::MasterServiceIf(scoped_refptr<kudu::MetricEntity> > const&, scoped_refptr<kudu::rpc::ResultTracker> const&)::$_13>, void > ()(google::protobuf::Message const*, google::protobuf::Message*, > kudu::rpc::RpcContext*)>::operator()(google::protobuf::Message const*&&, > google::protobuf::Message*&&, kudu::rpc::RpcContext*&&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/functional:1562:12 > (libmaster_proto.so+0xe23e4) > #14 std::__1::function<void ()(google::protobuf::Message const*, > google::protobuf::Message*, > kudu::rpc::RpcContext*)>::operator()(google::protobuf::Message const*, > google::protobuf::Message*, kudu::rpc::RpcContext*) const > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/c++/v1/functional:1916:12 > (libkrpc.so+0xefce9) > #15 kudu::rpc::GeneratedServiceIf::Handle(kudu::rpc::InboundCall*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/service_if.cc:145:3 > (libkrpc.so+0xef632) > #16 kudu::rpc::ServicePool::RunThread() > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/rpc/service_pool.cc:225:15 > (libkrpc.so+0xf0b8c) > #17 boost::_mfi::mf0<void, > kudu::rpc::ServicePool>::operator()(kudu::rpc::ServicePool*) const > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29 > (libkrpc.so+0xf2a69) > #18 void boost::_bi::list1<boost::_bi::value<kudu::rpc::ServicePool*> > >::operator()<boost::_mfi::mf0<void, kudu::rpc::ServicePool>, > boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, > kudu::rpc::ServicePool>&, boost::_bi::list0&, int) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9 > (libkrpc.so+0xf29ba) > #19 boost::_bi::bind_t<void, boost::_mfi::mf0<void, kudu::rpc::ServicePool>, > boost::_bi::list1<boost::_bi::value<kudu::rpc::ServicePool*> > > >::operator()() > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16 > (libkrpc.so+0xf2943) > #20 > boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, > boost::_mfi::mf0<void, kudu::rpc::ServicePool>, > boost::_bi::list1<boost::_bi::value<kudu::rpc::ServicePool*> > >, > void>::invoke(boost::detail::function::function_buffer&) > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11 > (libkrpc.so+0xf2739) > #21 boost::function0<void>::operator()() const > /data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14 > (libkrpc.so+0xb64b1) > #22 kudu::Thread::SuperviseThread(void*) > /data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/util/thread.cc:603:3 > (libkudu_util.so+0x1bd8b4) > Location is stack of thread T24. > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)