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

Riza Suminto resolved IMPALA-14289.
-----------------------------------
     Fix Version/s: Impala 5.0.0
    Target Version: Impala 5.0.0
        Resolution: Fixed

> Data race in accessing all_ranges_started_ of HdfsScanNode
> ----------------------------------------------------------
>
>                 Key: IMPALA-14289
>                 URL: https://issues.apache.org/jira/browse/IMPALA-14289
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>            Reporter: Quanlong Huang
>            Assignee: Riza Suminto
>            Priority: Critical
>             Fix For: Impala 5.0.0
>
>
> Saw a TSAN test failure on commit 
> [09a6f0e6c|https://github.com/apache/impala/commit/09a6f0e6cd912f573f0d8950abf40f498385c628].
> {noformat}
> WARNING: ThreadSanitizer: data race (pid=3756218)
>   Write of size 1 at 0x7b7000295740 by thread T315 (mutexes: write 
> M673142390284441360):
>     #0 impala::HdfsScanNode::ScannerThread(bool, long) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:438:27
>  (impalad+0x329ebef)
>     #1 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3::operator()()
>  const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:341:13
>  (impalad+0x32a0c76)
>     #2 
> boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3,
>  void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x32a0a19)
>     #3 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2847cf1)
>     #4 impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:361:3
>  (impalad+0x30285e5)
>     #5 void 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void 
> (*&)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:531:9
>  (impalad+0x3031817)
>     #6 boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x3031733)
>     #7 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:120:17
>  (impalad+0x3030ee0)
>     #8 thread_proxy 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:179:37 
> (impalad+0x3e5d216)
>   Previous read of size 1 at 0x7b7000295740 by thread T331 (mutexes: write 
> M657660888607030328):
>     #0 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:305:19
>  (impalad+0x329d9ba)
>     #1 boost::_mfi::mf1<void, impala::HdfsScanNode, 
> impala::ThreadResourcePool*>::operator()(impala::HdfsScanNode*, 
> impala::ThreadResourcePool*) const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/mem_fn_template.hpp:165:29
>  (impalad+0x32a1ebd)
>     #2 void boost::_bi::list2<boost::_bi::value<impala::HdfsScanNode*>, 
> boost::arg<1> >::operator()<boost::_mfi::mf1<void, impala::HdfsScanNode, 
> impala::ThreadResourcePool*>, 
> boost::_bi::rrlist1<impala::ThreadResourcePool*> >(boost::_bi::type<void>, 
> boost::_mfi::mf1<void, impala::HdfsScanNode, impala::ThreadResourcePool*>&, 
> boost::_bi::rrlist1<impala::ThreadResourcePool*>&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:319:9
>  (impalad+0x32a1e0a)
>     #3 void boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
> impala::HdfsScanNode, impala::ThreadResourcePool*>, 
> boost::_bi::list2<boost::_bi::value<impala::HdfsScanNode*>, boost::arg<1> > 
> >::operator()<impala::ThreadResourcePool*>(impala::ThreadResourcePool*&&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1306:16
>  (impalad+0x32a1d48)
>     #4 
> boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, 
> boost::_mfi::mf1<void, impala::HdfsScanNode, impala::ThreadResourcePool*>, 
> boost::_bi::list2<boost::_bi::value<impala::HdfsScanNode*>, boost::arg<1> > 
> >, void, 
> impala::ThreadResourcePool*>::invoke(boost::detail::function::function_buffer&,
>  impala::ThreadResourcePool*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x32a1ac3)
>     #5 boost::function1<void, 
> impala::ThreadResourcePool*>::operator()(impala::ThreadResourcePool*) const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2929299)
>     #6 impala::ThreadResourcePool::InvokeCallbacks() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/thread-resource-mgr.cc:106:9
>  (impalad+0x2928995)
>     #7 impala::ThreadResourcePool::ReleaseThreadToken(bool, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/thread-resource-mgr.cc:154:24
>  (impalad+0x2928c2b)
>     #8 impala::HdfsScanNode::ScannerThread(bool, long) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:461:36
>  (impalad+0x329ed18)
>     #9 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3::operator()()
>  const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:341:13
>  (impalad+0x32a0c76)
>     #10 
> boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3,
>  void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x32a0a19)
>     #11 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2847cf1)
>     #12 impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:361:3
>  (impalad+0x30285e5)
>     #13 void 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void 
> (*&)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:531:9
>  (impalad+0x3031817)
>     #14 boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x3031733)
>     #15 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:120:17
>  (impalad+0x3030ee0)
>     #16 thread_proxy 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:179:37 
> (impalad+0x3e5d216)
>   Location is heap block of size 1880 at 0x7b7000295000 allocated by thread 
> T281:
>     #0 operator new(unsigned long) <null> (impalad+0x217d43a)
>     #1 impala::HdfsScanPlanNode::CreateExecNode(impala::RuntimeState*, 
> impala::ExecNode**) const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node-base.cc:453:15
>  (impalad+0x31427b6)
>     #2 impala::ExecNode::CreateTree(impala::RuntimeState*, impala::PlanNode 
> const&, impala::DescriptorTbl const&, impala::ExecNode**) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/exec-node.cc:369:3
>  (impalad+0x31265ab)
>     #3 impala::FragmentInstanceState::Prepare() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/fragment-instance-state.cc:205:3
>  (impalad+0x299db55)
>     #4 impala::FragmentInstanceState::Exec() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/fragment-instance-state.cc:95:19
>  (impalad+0x299cfda)
>     #5 impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:1013:24
>  (impalad+0x28c5585)
>     #6 impala::QueryState::StartFInstances()::$_15::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:918:37
>  (impalad+0x28ca152)
>     #7 
> boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::$_15,
>  void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x28c9f09)
>     #8 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2847cf1)
>     #9 impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:361:3
>  (impalad+0x30285e5)
>     #10 void 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void 
> (*&)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:531:9
>  (impalad+0x3031817)
>     #11 boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x3031733)
>     #12 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:120:17
>  (impalad+0x3030ee0)
>     #13 thread_proxy 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:179:37 
> (impalad+0x3e5d216)
>   Mutex M673142390284441360 is already destroyed.
>   Mutex M657660888607030328 is already destroyed.
>   Thread T315 (tid=4117763, running) created by thread T281 at:
>     #0 pthread_create <null> (impalad+0x211f7b3)
>     #1 boost::thread::start_thread_noexcept() 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:263:39 
> (impalad+0x3e5c51d)
>     #2 boost::thread::thread<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >, std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> >, boost::function<void ()>, impala::ThreadDebugInfo*, 
> impala::Promise<long, (impala::PromiseMode)0>*>(void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> >, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, 
> (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:424:13
>  (impalad+0x302bc74)
>     #3 impala::Thread::StartThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, std::unique_ptr<impala::Thread, 
> std::default_delete<impala::Thread> >*, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:318:13
>  (impalad+0x3027f25)
>     #4 impala::Status 
> impala::Thread::Create<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3>(std::__cxx11::basic_string<char,
>  std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3
>  const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> 
> >*, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.h:74:12
>  (impalad+0x329e58d)
>     #5 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:344:14
>  (impalad+0x329dbbf)
>     #6 
> impala::HdfsScanNode::AddDiskIoRanges(std::vector<impala::io::ScanRange*, 
> std::allocator<impala::io::ScanRange*> > const&, impala::EnqueueLocation) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:209:24
>  (impalad+0x329e1a0)
>     #7 impala::HdfsScanNodeBase::AddDiskIoRanges(impala::HdfsFileDesc const*, 
> impala::EnqueueLocation) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node-base.h:548:12
>  (impalad+0x325b1db)
>     #8 impala::HdfsTextScanner::IssueInitialRanges(impala::HdfsScanNodeBase*, 
> std::vector<impala::HdfsFileDesc*, std::allocator<impala::HdfsFileDesc*> > 
> const&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/text/hdfs-text-scanner.cc:113:9
>  (impalad+0x3891d3b)
>     #9 
> impala::HdfsScanNodeBase::IssueInitialScanRanges(impala::RuntimeState*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node-base.cc:749:9
>  (impalad+0x31461a7)
>     #10 impala::HdfsScanNode::GetNext(impala::RuntimeState*, 
> impala::RowBatch*, bool*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:92:21
>  (impalad+0x329cc4c)
>     #11 impala::FragmentInstanceState::ExecInternal() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/fragment-instance-state.cc:472:7
>  (impalad+0x299f2b7)
>     #12 impala::FragmentInstanceState::Exec() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/fragment-instance-state.cc:115:14
>  (impalad+0x299d16d)
>     #13 impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:1013:24
>  (impalad+0x28c5585)
>     #14 impala::QueryState::StartFInstances()::$_15::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:918:37
>  (impalad+0x28ca152)
>     #15 
> boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::$_15,
>  void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x28c9f09)
>     #16 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2847cf1)
>     #17 impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:361:3
>  (impalad+0x30285e5)
>     #18 void 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void 
> (*&)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:531:9
>  (impalad+0x3031817)
>     #19 boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x3031733)
>     #20 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:120:17
>  (impalad+0x3030ee0)
>     #21 thread_proxy 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:179:37 
> (impalad+0x3e5d216)
>   Thread T331 (tid=4117748, finished) created by thread T281 at:
>     #0 pthread_create <null> (impalad+0x211f7b3)
>     #1 boost::thread::start_thread_noexcept() 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:263:39 
> (impalad+0x3e5c51d)
>     #2 boost::thread::thread<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >, std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> >, boost::function<void ()>, impala::ThreadDebugInfo*, 
> impala::Promise<long, (impala::PromiseMode)0>*>(void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> >, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, 
> (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:424:13
>  (impalad+0x302bc74)
>     #3 impala::Thread::StartThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, std::unique_ptr<impala::Thread, 
> std::default_delete<impala::Thread> >*, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:318:13
>  (impalad+0x3027f25)
>     #4 impala::Status 
> impala::Thread::Create<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3>(std::__cxx11::basic_string<char,
>  std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_3
>  const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> 
> >*, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.h:74:12
>  (impalad+0x329e58d)
>     #5 
> impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:344:14
>  (impalad+0x329dbbf)
>     #6 
> impala::HdfsScanNode::AddDiskIoRanges(std::vector<impala::io::ScanRange*, 
> std::allocator<impala::io::ScanRange*> > const&, impala::EnqueueLocation) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:209:24
>  (impalad+0x329e1a0)
>     #7 impala::HdfsScanNodeBase::AddDiskIoRanges(impala::HdfsFileDesc const*, 
> impala::EnqueueLocation) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node-base.h:548:12
>  (impalad+0x325b1db)
>     #8 impala::HdfsTextScanner::IssueInitialRanges(impala::HdfsScanNodeBase*, 
> std::vector<impala::HdfsFileDesc*, std::allocator<impala::HdfsFileDesc*> > 
> const&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/text/hdfs-text-scanner.cc:113:9
>  (impalad+0x3891d3b)
>     #9 
> impala::HdfsScanNodeBase::IssueInitialScanRanges(impala::RuntimeState*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node-base.cc:749:9
>  (impalad+0x31461a7)
>     #10 impala::HdfsScanNode::GetNext(impala::RuntimeState*, 
> impala::RowBatch*, bool*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:92:21
>  (impalad+0x329cc4c)
>     #11 impala::FragmentInstanceState::ExecInternal() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/fragment-instance-state.cc:472:7
>  (impalad+0x299f2b7)
>     #12 impala::FragmentInstanceState::Exec() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/fragment-instance-state.cc:115:14
>  (impalad+0x299d16d)
>     #13 impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:1013:24
>  (impalad+0x28c5585)
>     #14 impala::QueryState::StartFInstances()::$_15::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:918:37
>  (impalad+0x28ca152)
>     #15 
> boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::$_15,
>  void>::invoke(boost::detail::function::function_buffer&) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x28c9f09)
>     #16 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2847cf1)
>     #17 impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:361:3
>  (impalad+0x30285e5)
>     #18 void 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void 
> (*&)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:531:9
>  (impalad+0x3031817)
>     #19 boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x3031733)
>     #20 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:120:17
>  (impalad+0x3030ee0)
>     #21 thread_proxy 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:179:37 
> (impalad+0x3e5d216)
>   Thread T281 (tid=4117630, running) created by thread T248 at:
>     #0 pthread_create <null> (impalad+0x211f7b3)
>     #1 boost::thread::start_thread_noexcept() 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:263:39 
> (impalad+0x3e5c51d)
>     #2 boost::thread::thread<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >, std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> >, boost::function<void ()>, impala::ThreadDebugInfo*, 
> impala::Promise<long, (impala::PromiseMode)0>*>(void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> >, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> >, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, 
> (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:424:13
>  (impalad+0x302bc74)
>     #3 impala::Thread::StartThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, std::unique_ptr<impala::Thread, 
> std::default_delete<impala::Thread> >*, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:318:13
>  (impalad+0x3027f25)
>     #4 impala::Status 
> impala::Thread::Create<impala::QueryState::StartFInstances()::$_15>(std::__cxx11::basic_string<char,
>  std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, impala::QueryState::StartFInstances()::$_15 const&, 
> std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> >*, bool) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.h:74:12
>  (impalad+0x28c4eaa)
>     #5 impala::QueryState::StartFInstances() 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-state.cc:917:11
>  (impalad+0x28c47c4)
>     #6 impala::QueryExecMgr::ExecuteQueryHelper(impala::QueryState*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/runtime/query-exec-mgr.cc:170:7
>  (impalad+0x28b18a9)
>     #7 boost::_mfi::mf1<void, impala::QueryExecMgr, 
> impala::QueryState*>::operator()(impala::QueryExecMgr*, impala::QueryState*) 
> const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/mem_fn_template.hpp:165:29
>  (impalad+0x28ba21d)
>     #8 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:319:9
>  (impalad+0x28ba16a)
>     #9 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x28ba0d3)
>     #10 
> 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:158:11
>  (impalad+0x28b9e11)
>     #11 boost::function0<void>::operator()() const 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/function/function_template.hpp:763:14
>  (impalad+0x2847cf1)
>     #12 impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/util/thread.cc:361:3
>  (impalad+0x30285e5)
>     #13 void 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, 
> boost::_bi::value<impala::ThreadDebugInfo*>, 
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> 
> >::operator()<void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list0>(boost::_bi::type<void>, void 
> (*&)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list0&, int) 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:531:9
>  (impalad+0x3031817)
>     #14 boost::_bi::bind_t<void, void (*)(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, boost::function<void ()> const&, impala::ThreadDebugInfo const*, 
> impala::Promise<long, (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/bind/bind.hpp:1294:16
>  (impalad+0x3031733)
>     #15 boost::detail::thread_data<boost::_bi::bind_t<void, void 
> (*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::function<void 
> ()> const&, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), 
> boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, 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-cdw-master-staging-core-tsan/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/thread/detail/thread.hpp:120:17
>  (impalad+0x3030ee0)
>     #16 thread_proxy 
> /mnt/source/boost/boost_1_74_0-p1/libs/thread/src/pthread/thread.cpp:179:37 
> (impalad+0x3e5d216)
> SUMMARY: ThreadSanitizer: data race 
> /data/jenkins/workspace/impala-cdw-master-staging-core-tsan/repos/Impala/be/src/exec/hdfs-scan-node.cc:438:27
>  in impala::HdfsScanNode::ScannerThread(bool, long)
> =================={noformat}
> The read/write is on all_ranges_started_ of HdfsScanNode:
> {code:cpp}
> 255 void HdfsScanNode::ThreadTokenAvailableCb(ThreadResourcePool* pool) {
> ...
> 304     // Cases 1, 2, 3.
> 305     if (done() || all_ranges_started_ ||   // <----- Read here
> 306         num_active_scanner_threads >= 
> shared_state_->progress().remaining()) {
> 307       break;
> 308     }
> ...
> 368 void HdfsScanNode::ScannerThread(bool first_thread, int64_t 
> scanner_thread_reservation) {
> ...
> 433     if (scan_range == nullptr && remaining_scan_range_submissions == 0) {
> 434       unique_lock<timed_mutex> l(lock_);
> 435       // All ranges have been queued and DiskIoMgr has no more new ranges 
> for this scan
> 436       // node to process. This means that every range is either done or 
> being processed by
> 437       // another thread.
> 438       all_ranges_started_ = true; // <---- Write here
> 439       break;
> 440     }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to