You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Vihang Karajgaonkar (Jira)" <ji...@apache.org> on 2021/02/22 23:44:00 UTC

[jira] [Resolved] (IMPALA-10537) Uncaught exception in ThriftDebugString can crash catalog server

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

Vihang Karajgaonkar resolved IMPALA-10537.
------------------------------------------
    Resolution: Duplicate

> Uncaught exception in ThriftDebugString can crash catalog server
> ----------------------------------------------------------------
>
>                 Key: IMPALA-10537
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10537
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Vihang Karajgaonkar
>            Assignee: Vihang Karajgaonkar
>            Priority: Major
>
> The catalogd debug UI provides a way to display a textual representation of a catalog object. However, if the object is too large or if there are any exceptions during the deserialization the thrift library can throw a {{TProtocolException}} or {{bad_alloc}} exception. These exceptions when remain uncaught and crash the catalog server with the following trace in the minidump.
> {noformat}
> Operating system: Linux
>                   0.0.0 Linux 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64
> CPU: amd64
>      family 6 model 79 stepping 1
>      1 CPU
> GPU: UNKNOWN
> Crash reason:  SIGABRT
> Crash address: 0x3d40000db31
> Process uptime: not available
> Thread 161 (crashed)
>  0  libc-2.17.so + 0x36207
>  1  libc-2.17.so + 0x378f8
>  2  libstdc++.so.6!std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<wchar_t const*>(wchar_t const*, wchar_t const*, std::allocator<wchar_t> const&) + 0x142
>  3  libstdc++.so.6!std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<wchar_t const*>(wchar_t const*, wchar_t const*, std::allocator<wchar_t> const&) + 0x142
>  4  libstdc++.so.6!__gnu_cxx::__verbose_terminate_handler() + 0x15d
>  5  libstdc++.so.6!std::rethrow_exception(std::__exception_ptr::exception_ptr) + 0x76
>  6  libstdc++.so.6!std::terminate() + 0x11
>  7  libstdc++.so.6!__cxa_throw + 0x69
>  8  impalad!apache::thrift::transport::TMemoryBuffer::ensureCanWrite(unsigned int) + 0x179
>  9  impalad!apache::thrift::transport::TMemoryBuffer::writeSlow(unsigned char const*, unsigned int) + 0x13
> 10  impalad!apache::thrift::protocol::TDebugProtocol::writePlain(std::string const&) + 0x1f
> 11  impalad!apache::thrift::protocol::TDebugProtocol::writeItem(std::string const&) + 0x1c
> 12  impalad!apache::thrift::protocol::TDebugProtocol::writeString(std::string const&) + 0x3c8
> 13  impalad!impala::THdfsFileDesc::write(apache::thrift::protocol::TProtocol*) const + 0x62
> 14  impalad!impala::THdfsPartition::write(apache::thrift::protocol::TProtocol*) const + 0x3a3
> 15  impalad!impala::THdfsTable::write(apache::thrift::protocol::TProtocol*) const + 0x1a1
> 16  impalad!impala::TTable::write(apache::thrift::protocol::TProtocol*) const + 0x421
> 17  impalad!impala::TCatalogObject::write(apache::thrift::protocol::TProtocol*) const + 0x2bc
> 18  impalad!std::string apache::thrift::ThriftDebugString<impala::TCatalogObject>(impala::TCatalogObject const&) + 0x9b
> 19  impalad!impala::CatalogServer::CatalogObjectsUrlCallback(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>, rapidjson::CrtAllocator>*) + 0xea8
> 20  impalad!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*) + 0x170
> 21  impalad!impala::Webserver::BeginRequestCallback(sq_connection*, sq_request_info*) + 0x2b4
> 22  impalad!handle_request + 0x740
> 23  impalad!process_new_connection + 0x16d
> 24  impalad!worker_thread + 0x2e5
> 25  libpthread-2.17.so + 0x7dd5
> 26  libc-2.17.so + 0xfdead
> {noformat}



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