Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
Impala 2.9.0
-
ghx-label-4
Description
Impala does not start under ASAN anymore. Our ASAN build is hitting this, and I can reproduce locally.
Here's the stack:
Stack: [0x00007f5d20999000,0x00007f5d2119a000], sp=0x00007f5d211963d0, free space=8180k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [impalad+0xc718bb] base::subtle::NoBarrier_CompareAndSwap(int volatile*, int, int)+0x1b C [impalad+0xc71875] base::SpinLock::Lock()+0x15 C [impalad+0xf417d5] impala::SimpleMetric<unsigned long, (impala::TMetricKind::type)0>::value()+0x95 C [impalad+0x126e494] impala::SumGauge<unsigned long>::CalculateValue()+0x124 C [impalad+0xf41808] impala::SimpleMetric<unsigned long, (impala::TMetricKind::type)0>::value()+0xc8 C [impalad+0x126ce93] impala::SimpleMetric<unsigned long, (impala::TMetricKind::type)0>::ToLegacyJson(rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*)+0xb3 C [impalad+0x127093a] impala::MetricGroup::CMCompatibleCallback(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*)+0x4ca C [impalad+0x12750bd] void boost::_bi::bind_t<void, boost::_mfi::mf2<void, impala::MetricGroup, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*>, boost::_bi::list3<boost::_bi::value<impala::MetricGroup*>, boost::arg<1>, boost::arg<2> > >::operator()<std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*>(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*&)+0xad C [impalad+0x1274e30] boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, impala::MetricGroup, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*>, boost::_bi::list3<boost::_bi::value<impala::MetricGroup*>, boost::arg<1>, boost::arg<2> > >, void, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*>::invoke(boost::detail::function::function_buffer&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*)+0xb0 C [impalad+0x13083a6] boost::function2<void, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*>::operator()(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >*) const+0xc6 C [impalad+0x1306c6f] impala::Webserver::RenderUrlWithTemplate(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, impala::Webserver::UrlHandler const&, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*, impala::ContentType*)+0x28f C [impalad+0x130648f] impala::Webserver::BeginRequestCallback(sq_connection*, sq_request_info*)+0x50f C [impalad+0x1322ed0] boost::_bi::bind_t<impala::ThriftClientImpl*, boost::_mfi::mf4<impala::ThriftClientImpl*, impala::ClientCache<impala::ImpalaBackendClient>, impala::TNetworkAddress const&, void**, std::string, bool>, boost::_bi::list_av_5<impala::ClientCache<impala::ImpalaBackendClient>*, boost::arg<1>, boost::arg<2>, std::string, bool>::type> boost::bind<impala::ThriftClientImpl*, boost::_mfi::mf4<impala::ThriftClientImpl*, impala::ClientCache<impala::ImpalaBackendClient>, impala::TNetworkAddress const&, void**, std::string, bool>, impala::ClientCache<impala::ImpalaBackendClient>*, boost::arg<1>, boost::arg<2>, std::string, bool>(boost::_mfi::mf4<impala::ThriftClientImpl*, impala::ClientCache<impala::ImpalaBackendClient>, impala::TNetworkAddress const&, void**, std::string, bool>, impala::ClientCache<impala::ImpalaBackendClient>*, boost::arg<1>, boost::arg<2>, std::string, bool)+0x190 C [impalad+0x132290e] impala::_TGetHadoopConfigResponse__isset::_TGetHadoopConfigResponse__isset()+0x2e C [impalad+0x1322347] __gnu_cxx::new_allocator<std::pair<impala::TUniqueId const, impala::QueryState*> >::~new_allocator()+0x7