You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Lars Volker (JIRA)" <ji...@apache.org> on 2017/09/12 17:36:00 UTC

[jira] [Resolved] (IMPALA-5464) ~MetricDefsConstants() crash during JVM shutdown

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

Lars Volker resolved IMPALA-5464.
---------------------------------
    Resolution: Cannot Reproduce

> ~MetricDefsConstants() crash during JVM shutdown
> ------------------------------------------------
>
>                 Key: IMPALA-5464
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5464
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 2.8.0
>            Reporter: Lars Volker
>              Labels: crash
>
> The JVM triggers a process exit from within a malloc() call, which then crashes when running the std::map destructor in MetricDefsConstants::~MetricDefsConstants().
> It seems like maybe the recursive malloc (?!) is causing some problems.
> {noformat}
>  0  impalad!tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) + 0x133
>  1  impalad!tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) + 0x1c
>  2  impalad!operator delete(void*) + 0x3c0
>  3  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [basic_string.h : 249 + 0xa]
>  4  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
>  5  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
>  6  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
>  7  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
>  8  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
>  9  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
> 10  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
> 11  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
> 12  impalad!std::_Rb_tree<std::string, std::pair<std::string const, impala::TMetricDef>, std::_Select1st<std::pair<std::string const, impala::TMetricDef> >, std::less<std::string>, std::allocator<std::pair<std::string const, impala::TMetricDef> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, impala::TMetricDef> >*) [stl_tree.h : 1245 + 0xd]
> 13  impalad!impala::MetricDefsConstants::~MetricDefsConstants() [stl_tree.h : 1245 + 0xe]
> 14  libc-2.12.so + 0x35b22
> 15  libjvm.so!vm_direct_exit(int) + 0x17
> 16  libjvm.so!VM_Operation::evaluate() + 0x55
> 17  impalad!RawWrite(int, char const*, unsigned long) + 0x63
> 18  libjvm.so!_fini + 0x483360
> 19  libjvm.so!VMThread::evaluate_operation(VM_Operation*) + 0xba
> 20  libjvm.so!VMThread::loop() + 0x1ce
> 21  impalad!malloc + 0x27b
> 22  libjvm.so!_fini + 0x4919ac
> 23  libjvm.so!os::malloc(unsigned long, MemoryType, NativeCallStack const&) + 0xe5
> 24  libjvm.so!CHeapObj<(MemoryType)7>::operator new(unsigned long, NativeCallStack const&) + 0x20
> 25  libjvm.so!VMThread::run() + 0x70
> 26  libjvm.so!Monitor::wait(bool, long, bool) + 0x256
> 27  libjvm.so!java_start(Thread*) + 0x108
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)