[ https://issues.apache.org/jira/browse/IMPALA-9374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sahil Takiar resolved IMPALA-9374. ---------------------------------- Fix Version/s: Impala 4.0 Resolution: Fixed > Possible data race in TupleDescriptor::GetLlvmStruct > ---------------------------------------------------- > > Key: IMPALA-9374 > URL: https://issues.apache.org/jira/browse/IMPALA-9374 > Project: IMPALA > Issue Type: Sub-task > Components: Backend > Reporter: Sahil Takiar > Assignee: Sahil Takiar > Priority: Major > Fix For: Impala 4.0 > > > A full run of E2E tests against a TSAN build has a ton of the following data > races: > {code:java} > WARNING: ThreadSanitizer: data race (pid=10046) > Write of size 4 at 0x7b240053a534 by thread T315: > #0 impala::TupleDescriptor::GetLlvmStruct(impala::LlvmCodeGen*) const > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/descriptors.cc:739:27 > (impalad+0x1f051be) > #1 impala::AggregatorConfig::CodegenUpdateTuple(impala::LlvmCodeGen*, > llvm::Function**) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/aggregator.cc:552:33 > (impalad+0x24c2881) > #2 > impala::GroupingAggregatorConfig::CodegenAddBatchStreamingImpl(impala::LlvmCodeGen*, > impala::TPrefetchMode::type) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/grouping-aggregator.cc:1087:3 > (impalad+0x247d081) > #3 impala::GroupingAggregatorConfig::Codegen(impala::RuntimeState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/grouping-aggregator.cc:196:33 > (impalad+0x247ceda) > #4 impala::GroupingAggregator::Codegen(impala::RuntimeState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/grouping-aggregator.cc:203:58 > (impalad+0x247e096) > #5 impala::AggregationNodeBase::Codegen(impala::RuntimeState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/aggregation-node-base.cc:100:32 > (impalad+0x2452356) > #6 impala::FragmentInstanceState::Open() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/fragment-instance-state.cc:342:19 > (impalad+0x1f1bcf5) > #7 impala::FragmentInstanceState::Exec() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/fragment-instance-state.cc:86:12 > (impalad+0x1f1a1bb) > #8 impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:694:24 > (impalad+0x1f2c953) > #9 impala::QueryState::StartFInstances()::$_7::operator()() const > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:603:35 > (impalad+0x1f2eaa2) > #10 > boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::$_7, > void>::invoke(boost::detail::function::function_buffer&) > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11 > (impalad+0x1f2e8c9) > #11 boost::function0<void>::operator()() const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (impalad+0x1cf2d21) > #12 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-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 > (impalad+0x22a3ab6) > #13 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9 > (impalad+0x22abb6c) > #14 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x22aba83) > #15 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17 > (impalad+0x22ab770) > #16 thread_proxy <null> (impalad+0x2f7c8d9) > Previous write of size 4 at 0x7b240053a534 by thread T340: > #0 impala::TupleDescriptor::GetLlvmStruct(impala::LlvmCodeGen*) const > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/descriptors.cc:739:27 > (impalad+0x1f051be) > #1 impala::AggregatorConfig::CodegenUpdateTuple(impala::LlvmCodeGen*, > llvm::Function**) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/aggregator.cc:552:33 > (impalad+0x24c2881) > #2 > impala::GroupingAggregatorConfig::CodegenAddBatchImpl(impala::LlvmCodeGen*, > impala::TPrefetchMode::type) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/grouping-aggregator.cc:1001:3 > (impalad+0x247d890) > #3 impala::GroupingAggregatorConfig::Codegen(impala::RuntimeState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/grouping-aggregator.cc:197:33 > (impalad+0x247ceed) > #4 impala::GroupingAggregator::Codegen(impala::RuntimeState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/grouping-aggregator.cc:203:58 > (impalad+0x247e096) > #5 impala::AggregationNodeBase::Codegen(impala::RuntimeState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/exec/aggregation-node-base.cc:100:32 > (impalad+0x2452356) > #6 impala::FragmentInstanceState::Open() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/fragment-instance-state.cc:342:19 > (impalad+0x1f1bcf5) > #7 impala::FragmentInstanceState::Exec() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/fragment-instance-state.cc:86:12 > (impalad+0x1f1a1bb) > #8 impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:694:24 > (impalad+0x1f2c953) > #9 impala::QueryState::StartFInstances()::$_7::operator()() const > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:603:35 > (impalad+0x1f2eaa2) > #10 > boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::$_7, > void>::invoke(boost::detail::function::function_buffer&) > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11 > (impalad+0x1f2e8c9) > #11 boost::function0<void>::operator()() const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (impalad+0x1cf2d21) > #12 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-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 > (impalad+0x22a3ab6) > #13 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9 > (impalad+0x22abb6c) > #14 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x22aba83) > #15 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17 > (impalad+0x22ab770) > #16 thread_proxy <null> (impalad+0x2f7c8d9) > Location is heap block of size 136 at 0x7b240053a4b0 allocated by thread > T37: > #0 operator new(unsigned long) > /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:44 > (impalad+0x191d133) > #1 impala::DescriptorTbl::CreateInternal(impala::ObjectPool*, > impala::TDescriptorTable const&, impala::DescriptorTbl**) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/descriptors.cc:610:9 > (impalad+0x1f0478b) > #2 impala::DescriptorTbl::Create(impala::ObjectPool*, > impala::TDescriptorTableSerialized const&, impala::DescriptorTbl**) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/descriptors.cc:579:10 > (impalad+0x1f04485) > #3 impala::QueryState::StartFInstances() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:567:7 > (impalad+0x1f2b74e) > #4 impala::QueryExecMgr::ExecuteQueryHelper(impala::QueryState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-exec-mgr.cc:134:7 > (impalad+0x1f79899) > #5 boost::_mfi::mf1<void, impala::QueryExecMgr, > impala::QueryState*>::operator()(impala::QueryExecMgr*, impala::QueryState*) > const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:165:29 > (impalad+0x1f7ab8d) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:313:9 > (impalad+0x1f7aacd) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x1f7aa33) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11 > (impalad+0x1f7a7d1) > #9 boost::function0<void>::operator()() const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (impalad+0x1cf2d21) > #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-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 > (impalad+0x22a3ab6) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9 > (impalad+0x22abb6c) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x22aba83) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17 > (impalad+0x22ab770) > #14 thread_proxy <null> (impalad+0x2f7c8d9) > Thread T315 (tid=14626, running) created by thread T37 at: > #0 pthread_create > /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 > (impalad+0x18b4b1b) > #1 boost::thread::start_thread_noexcept() <null> (impalad+0x2f7bcb9) > #2 boost::thread::thread<void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, > boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, > (impala::PromiseMode)0>*>(void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, > boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, > (impala::PromiseMode)0>*) > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:419:13 > (impalad+0x22a616b) > #3 impala::Thread::StartThread(std::string const&, std::string const&, > boost::function<void ()> const&, std::unique_ptr<impala::Thread, > std::default_delete<impala::Thread> >*, bool) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13 > (impalad+0x22a3455) > #4 impala::Status > impala::Thread::Create<impala::QueryState::StartFInstances()::$_7>(std::string > const&, std::string const&, impala::QueryState::StartFInstances()::$_7 > const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> > >*, bool) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:74:12 > (impalad+0x1f2c2ca) > #5 impala::QueryState::StartFInstances() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:602:9 > (impalad+0x1f2bc0a) > #6 impala::QueryExecMgr::ExecuteQueryHelper(impala::QueryState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-exec-mgr.cc:134:7 > (impalad+0x1f79899) > #7 boost::_mfi::mf1<void, impala::QueryExecMgr, > impala::QueryState*>::operator()(impala::QueryExecMgr*, impala::QueryState*) > const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:165:29 > (impalad+0x1f7ab8d) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:313:9 > (impalad+0x1f7aacd) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x1f7aa33) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11 > (impalad+0x1f7a7d1) > #11 boost::function0<void>::operator()() const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (impalad+0x1cf2d21) > #12 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-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 > (impalad+0x22a3ab6) > #13 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9 > (impalad+0x22abb6c) > #14 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x22aba83) > #15 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17 > (impalad+0x22ab770) > #16 thread_proxy <null> (impalad+0x2f7c8d9) > Thread T340 (tid=14625, running) created by thread T37 at: > #0 pthread_create > /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 > (impalad+0x18b4b1b) > #1 boost::thread::start_thread_noexcept() <null> (impalad+0x2f7bcb9) > #2 boost::thread::thread<void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, > boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, > (impala::PromiseMode)0>*>(void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, > boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, > (impala::PromiseMode)0>*) > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:419:13 > (impalad+0x22a616b) > #3 impala::Thread::StartThread(std::string const&, std::string const&, > boost::function<void ()> const&, std::unique_ptr<impala::Thread, > std::default_delete<impala::Thread> >*, bool) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13 > (impalad+0x22a3455) > #4 impala::Status > impala::Thread::Create<impala::QueryState::StartFInstances()::$_7>(std::string > const&, std::string const&, impala::QueryState::StartFInstances()::$_7 > const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> > >*, bool) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:74:12 > (impalad+0x1f2c2ca) > #5 impala::QueryState::StartFInstances() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-state.cc:602:9 > (impalad+0x1f2bc0a) > #6 impala::QueryExecMgr::ExecuteQueryHelper(impala::QueryState*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-exec-mgr.cc:134:7 > (impalad+0x1f79899) > #7 boost::_mfi::mf1<void, impala::QueryExecMgr, > impala::QueryState*>::operator()(impala::QueryExecMgr*, impala::QueryState*) > const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:165:29 > (impalad+0x1f7ab8d) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:313:9 > (impalad+0x1f7aacd) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x1f7aa33) > #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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11 > (impalad+0x1f7a7d1) > #11 boost::function0<void>::operator()() const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (impalad+0x1cf2d21) > #12 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-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 > (impalad+0x22a3ab6) > #13 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9 > (impalad+0x22abb6c) > #14 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x22aba83) > #15 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17 > (impalad+0x22ab770) > #16 thread_proxy <null> (impalad+0x2f7c8d9) > Thread T37 (tid=14623, running) created by thread T106 at: > #0 pthread_create > /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 > (impalad+0x18b4b1b) > #1 boost::thread::start_thread_noexcept() <null> (impalad+0x2f7bcb9) > #2 boost::thread::thread<void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, > boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, > (impala::PromiseMode)0>*>(void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, > boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, > (impala::PromiseMode)0>*) > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:419:13 > (impalad+0x22a616b) > #3 impala::Thread::StartThread(std::string const&, std::string const&, > boost::function<void ()> const&, std::unique_ptr<impala::Thread, > std::default_delete<impala::Thread> >*, bool) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13 > (impalad+0x22a3455) > #4 impala::Status impala::Thread::Create<void > (impala::QueryExecMgr::*)(impala::QueryState*), impala::QueryExecMgr*, > impala::QueryState*>(std::string const&, std::string const&, void > (impala::QueryExecMgr::* const&)(impala::QueryState*), impala::QueryExecMgr* > const&, impala::QueryState* const&, std::unique_ptr<impala::Thread, > std::default_delete<impala::Thread> >*, bool) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:89:12 > (impalad+0x1f79e77) > #5 impala::QueryExecMgr::StartQuery(impala::ExecQueryFInstancesRequestPB > const*, impala::TQueryCtx const&, impala::TExecPlanFragmentInfo const&) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-exec-mgr.cc:62:12 > (impalad+0x1f78d62) > #6 > impala::ControlService::ExecQueryFInstances(impala::ExecQueryFInstancesRequestPB > const*, impala::ExecQueryFInstancesResponsePB*, kudu::rpc::RpcContext*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/control-service.cc:156:66 > (impalad+0x2048eae) > #7 > impala::ControlServiceIf::ControlServiceIf(scoped_refptr<kudu::MetricEntity> > const&, scoped_refptr<kudu::rpc::ResultTracker> > const&)::$_1::operator()(google::protobuf::Message const*, > google::protobuf::Message*, kudu::rpc::RpcContext*) const > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/generated-sources/gen-cpp/control_service.service.cc:70:13 > (impalad+0x20faae4) > #8 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&)::$_1>::_M_invoke(std::_Any_data const&, google::protobuf::Message > const*, google::protobuf::Message*, kudu::rpc::RpcContext*) > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/functional:2039:2 > (impalad+0x20fa8ce) > #9 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-private-parameterized/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/functional:2439:14 > (impalad+0x278a638) > #10 kudu::rpc::GeneratedServiceIf::Handle(kudu::rpc::InboundCall*) > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/kudu/rpc/service_if.cc:139:3 > (impalad+0x2789f9e) > #11 impala::ImpalaServicePool::RunThread() > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/rpc/impala-service-pool.cc:271:15 > (impalad+0x1e198df) > #12 boost::_mfi::mf0<void, > impala::ImpalaServicePool>::operator()(impala::ImpalaServicePool*) const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/mem_fn_template.hpp:49:29 > (impalad+0x1e1fd36) > #13 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:253:9 > (impalad+0x1e1fc8a) > #14 boost::_bi::bind_t<void, boost::_mfi::mf0<void, > impala::ImpalaServicePool>, > boost::_bi::list1<boost::_bi::value<impala::ImpalaServicePool*> > > >::operator()() > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x1e1fc13) > #15 > 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153:11 > (impalad+0x1e1fa09) > #16 boost::function0<void>::operator()() const > /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:766:14 > (impalad+0x1cf2d21) > #17 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-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 > (impalad+0x22a3ab6) > #18 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525:9 > (impalad+0x22abb6c) > #19 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20:27 > (impalad+0x22aba83) > #20 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-private-parameterized/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116:17 > (impalad+0x22ab770) > #21 thread_proxy <null> (impalad+0x2f7c8d9) > SUMMARY: ThreadSanitizer: data race > /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/descriptors.cc:739:27 > in impala::TupleDescriptor::GetLlvmStruct(impala::LlvmCodeGen*) const {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)