[ 
https://issues.apache.org/jira/browse/IMPALA-9742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gabor Kaszab resolved IMPALA-9742.
----------------------------------
    Resolution: Duplicate

> Data race in RuntimeFilterBank::CancelLocked in TSAN builds
> -----------------------------------------------------------
>
>                 Key: IMPALA-9742
>                 URL: https://issues.apache.org/jira/browse/IMPALA-9742
>             Project: IMPALA
>          Issue Type: New Feature
>            Reporter: Gabor Kaszab
>            Priority: Blocker
>
> expr-test fails for TSAN builds after finding a data race:
> {code:java}
> 02:55:52 WARNING: ThreadSanitizer: data race (pid=4274)
> 02:55:52   Read of size 1 at 0x7b34000b3b48 by thread T329:
> 02:55:52     #0 impala::RuntimeFilterBank::CancelLocked() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/runtime-filter-bank.cc:429:7
>  (unifiedbetests+0x2d9c97b)
> 02:55:52     #1 impala::RuntimeFilterBank::Close() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/runtime-filter-bank.cc:446:3
>  (unifiedbetests+0x2d9cad4)
> 02:55:52     #2 impala::QueryState::ReleaseBackendResources() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/query-state.cc:115:46
>  (unifiedbetests+0x2d7539b)
> 02:55:52     #3 impala::QueryState::ReleaseBackendResourceRefcount() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/query-state.cc:739:21
>  (unifiedbetests+0x2d79f7f)
> 02:55:52     #4 impala::QueryExecMgr::ExecuteQueryHelper(impala::QueryState*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/query-exec-mgr.cc:157:7
>  (unifiedbetests+0x2df068d)
> 02:55:52     #5 boost::_mfi::mf1<void, impala::QueryExecMgr, 
> impala::QueryState*>::operator()(impala::QueryExecMgr*, impala::QueryState*) 
> const 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:165:29
>  (unifiedbetests+0x2df196d)
> 02:55:52     #6 void 
> boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
> boost::_bi::value<impala::QueryState*> >::operator()<boost::_mfi::mf1<void, 
> impala::QueryExecMgr, impala::QueryState*>, 
> boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void, 
> impala::QueryExecMgr, impala::QueryState*>&, boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:319:9
>  (unifiedbetests+0x2df18ad)
> 02:55:52     #7 boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
> impala::QueryExecMgr, impala::QueryState*>, 
> boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
> boost::_bi::value<impala::QueryState*> > >::operator()() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
>  (unifiedbetests+0x2df1813)
> 02:55:52     #8 
> boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
> boost::_mfi::mf1<void, impala::QueryExecMgr, impala::QueryState*>, 
> boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
> boost::_bi::value<impala::QueryState*> > >, 
> void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11
>  (unifiedbetests+0x2df15b1)
> 02:55:52     #9 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
>  (unifiedbetests+0x2bbb261)
> 02:55:52     #10 impala::Thread::SuperviseThread(std::string const&, 
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/thread.cc:360:3
>  (unifiedbetests+0x3532056)
> 02:55:52     #11 void boost::_bi::list5<boost::_bi::value<std::string>, 
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::string const&, std::string const&, 
> boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, 
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9
>  (unifiedbetests+0x353a24c)
> 02:55:52     #12 boost::_bi::bind_t<void, void (*)(std::string const&, 
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::string>, 
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > 
> >::operator()() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
>  (unifiedbetests+0x353a163)
> 02:55:52     #13 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::string const&, std::string const&, boost::function<void ()>, 
> impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, 
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > 
> >::run() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17
>  (unifiedbetests+0x3539e50)
> 02:55:52     #14 thread_proxy <null> (unifiedbetests+0x37bed49)
> {code}
> {code:java}
> 02:55:52   Previous write of size 1 at 0x7b34000b3b48 by thread T131:
> 02:55:52     #0 impala::RuntimeFilterBank::CancelLocked() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/runtime-filter-bank.cc:434:14
>  (unifiedbetests+0x2d9ca25)
> 02:55:52     #1 impala::RuntimeFilterBank::Cancel() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/runtime-filter-bank.cc:425:3
>  (unifiedbetests+0x2d9c918)
> 02:55:52     #2 impala::QueryState::Cancel() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/query-state.cc:776:46
>  (unifiedbetests+0x2d78c7f)
> 02:55:52     #3 
> impala::ControlService::CancelQueryFInstances(impala::CancelQueryFInstancesRequestPB
>  const*, impala::CancelQueryFInstancesResponsePB*, kudu::rpc::RpcContext*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/service/control-service.cc:231:7
>  (unifiedbetests+0x2ee805b)
> 02:55:52     #4 
> impala::ControlServiceIf::ControlServiceIf(scoped_refptr<kudu::MetricEntity> 
> const&, scoped_refptr<kudu::rpc::ResultTracker> 
> const&)::$_5::operator()(google::protobuf::Message const*, 
> google::protobuf::Message*, kudu::rpc::RpcContext*) const 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/generated-sources/gen-cpp/control_service.service.cc:110:13
>  (unifiedbetests+0x2f9d4e4)
> 02:55:52     #5 std::_Function_handler<void (google::protobuf::Message 
> const*, google::protobuf::Message*, kudu::rpc::RpcContext*), 
> impala::ControlServiceIf::ControlServiceIf(scoped_refptr<kudu::MetricEntity> 
> const&, scoped_refptr<kudu::rpc::ResultTracker> 
> const&)::$_5>::_M_invoke(std::_Any_data const&, google::protobuf::Message 
> const*, google::protobuf::Message*, kudu::rpc::RpcContext*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/functional:2039:2
>  (unifiedbetests+0x2f9d2ce)
> 02:55:52     #6 std::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/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/functional:2439:14
>  (unifiedbetests+0x3692468)
> 02:55:52     #7 
> kudu::rpc::GeneratedServiceIf::Handle(kudu::rpc::InboundCall*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/kudu/rpc/service_if.cc:139:3
>  (unifiedbetests+0x3691dfe)
> 02:55:52     #8 impala::ImpalaServicePool::RunThread() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/rpc/impala-service-pool.cc:272:15
>  (unifiedbetests+0x36a9bbf)
> 02:55:52     #9 boost::_mfi::mf0<void, 
> impala::ImpalaServicePool>::operator()(impala::ImpalaServicePool*) const 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:49:29
>  (unifiedbetests+0x36aebd6)
> 02:55:52     #10 void 
> boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> 
> >::operator()<boost::_mfi::mf0<void, impala::ImpalaServicePool>, 
> boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
> impala::ImpalaServicePool>&, boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:259:9
>  (unifiedbetests+0x36aeb2a)
> 02:55:52     #11 boost::_bi::bind_t<void, boost::_mfi::mf0<void, 
> impala::ImpalaServicePool>, 
> boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > 
> >::operator()() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
>  (unifiedbetests+0x36aeab3)
> 02:55:52     #12 
> boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
> boost::_mfi::mf0<void, impala::ImpalaServicePool>, 
> boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > >, 
> void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11
>  (unifiedbetests+0x36ae8a9)
> 02:55:52     #13 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
>  (unifiedbetests+0x2bbb261)
> 02:55:52     #14 impala::Thread::SuperviseThread(std::string const&, 
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/thread.cc:360:3
>  (unifiedbetests+0x3532056)
> 02:55:52     #15 void boost::_bi::list5<boost::_bi::value<std::string>, 
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::string const&, std::string const&, 
> boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, 
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9
>  (unifiedbetests+0x353a24c)
> 02:55:52     #16 boost::_bi::bind_t<void, void (*)(std::string const&, 
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::string>, 
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > 
> >::operator()() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
>  (unifiedbetests+0x353a163)
> 02:55:52     #17 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::string const&, std::string const&, boost::function<void ()>, 
> impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, 
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > 
> >::run() 
> /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17
>  (unifiedbetests+0x3539e50)
> 02:55:52     #18 thread_proxy <null> (unifiedbetests+0x37bed49)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to