Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-10537

Uncaught exception in ThriftDebugString can crash catalog server

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None
    • None
    • ghx-label-2

    Description

      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.

      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
      

      Attachments

        Issue Links

          Activity

            People

              vihangk1 Vihang Karajgaonkar
              vihangk1 Vihang Karajgaonkar
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: