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

E2E tests crashed in DecimalUtil::DecodeFromFixedLenByteArray

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Duplicate
    • Impala 4.0.0
    • Impala 4.0.0
    • None
    • ghx-label-12

    Description

      Found two crashes in e2e tests of a UBSAN Jenkins job, causing bunch of other test failures. The final function call is DecimalUtil::DecodeFromFixedLenByteArray.

      Crash 1: /data/jenkins/workspace/impala-asf-master-core-ubsan/repos/Impala/logs/ee_tests/minidumps/impalad/b9404e26-784d-43f1-9a7c48b8-d6704859.dmp

      Operating system: Linux
                        0.0.0 Linux 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64
      CPU: amd64
           family 6 model 85 stepping 4
           1 CPU
      
      GPU: UNKNOWN
      
      Crash reason:  SIGSEGV
      Crash address: 0x0
      Process uptime: not available
      
      Thread 371 (crashed)
       0  impalad!void impala::DecimalUtil::DecodeFromFixedLenByteArray<impala::DecimalValue<__int128> >(unsigned char const*, int, impala::DecimalValue<__int128>*) [decimal-util.h : 132 + 0x12]
          rax = 0x000000001c358086   rdx = 0x0000000000000009
          rcx = 0x00007fd89eb8f301   rbx = 0x0000000111fd4000
          rsi = 0x00007fd89eb8f450   rdi = 0x00007fd89eb8f45c
          rbp = 0x00007fd89eb8f4c0   rsp = 0x00007fd89eb8f360
           r8 = 0x0000000000000009    r9 = 0x0000000021093301
          r10 = 0x0000000000000009   r11 = 0x0000000000000001
          r12 = 0x00007fd89eb91c10   r13 = 0x00007fd89eb929c0
          r14 = 0x00007fd89eb92700   r15 = 0x000000000000002b
          rip = 0x00000000038f7c33
          Found by: given as instruction pointer in context
       1  impalad!void impala::DecodeDecimalFixedLen<impala::DecimalValue<__int128> >(unsigned char const*, unsigned char const*, int, impala::DecimalValue<__int128>*) [parquet-common.h : 608 + 0x5]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb8f550
          rsp = 0x00007fd89eb8f4d0   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000038f7a80
          Found by: call frame info
       2  impalad!int impala::ParquetPlainEncoder::Decode<impala::DecimalValue<__int128>, (parquet::Type::type)7>(unsigned char const*, unsigned char const*, int, impala::DecimalValue<__int128>*) [parquet-common.h : 640 + 0x5]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb8f610
          rsp = 0x00007fd89eb8f560   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000038f70ac
          Found by: call frame info
       3  impalad!impala::SetDecimalVal(impala::ColumnType const&, char*, int, void*) [data-source-scan-node.cc : 199 + 0x30]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb8f7a0
          rsp = 0x00007fd89eb8f620   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000038f67ca
          Found by: call frame info
       4  impalad!impala::DataSourceScanNode::MaterializeNextRow(cctz::time_zone const*, impala::MemPool*, impala::Tuple*) [data-source-scan-node.cc : 307 + 0x4e]
          rbx = 0x0000000111fd4001   rbp = 0x00007fd89eb900d0
          rsp = 0x00007fd89eb8f7b0   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000038f16cf
          Found by: call frame info
       5  impalad!impala::DataSourceScanNode::GetNext(impala::RuntimeState*, impala::RowBatch*, bool*) [data-source-scan-node.cc : 355 + 0x4f]
          rbx = 0x0000000111fd4001   rbp = 0x00007fd89eb90b20
          rsp = 0x00007fd89eb900e0   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000038f2e50
          Found by: call frame info
       6  impalad!impala::FragmentInstanceState::ExecInternal() [fragment-instance-state.cc : 368 + 0x43]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb91040
          rsp = 0x00007fd89eb90b30   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x0000000002a06359
          Found by: call frame info
       7  impalad!impala::FragmentInstanceState::Exec() [fragment-instance-state.cc : 102 + 0xc]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb91320
          rsp = 0x00007fd89eb91050   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x0000000002a00ac4
          Found by: call frame info
       8  impalad!impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) [query-state.cc : 763 + 0xc]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb915d0
          rsp = 0x00007fd89eb91330   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x0000000002a35aa1
          Found by: call frame info
       9  impalad!impala::QueryState::StartFInstances()::$_7::operator()() const [query-state.cc : 671 + 0x8]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb915f0
          rsp = 0x00007fd89eb915e0   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x0000000002a3c30f
          Found by: call frame info
      10  impalad!boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::$_7, void>::invoke(boost::detail::function::function_buffer&) [function_template.hpp : 159 + 0x15]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb91620
          rsp = 0x00007fd89eb91600   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x0000000002a3bdb2
          Found by: call frame info
      11  impalad!boost::function0<void>::operator()() const [function_template.hpp : 770 + 0x16]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb91690
          rsp = 0x00007fd89eb91630   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000024ab150
          Found by: call frame info
      12  impalad!impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*) [thread.cc : 360 + 0x1b]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb91a80
          rsp = 0x00007fd89eb916a0   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700
          r15 = 0x000000000000002b   rip = 0x00000000033c74c7
          Found by: call frame info
      13  impalad!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) [bind.hpp : 531 + 0x1c]
          rbx = 0x0000000111fd4000   rbp = 0x00007fd89eb91b90
          rsp = 0x00007fd89eb91a90   r12 = 0x00007fd89eb91c10
          r13 = 0x00007fd89eb929c0   r14 = 0x00007fd89eb92700

      Crash 2: /data/jenkins/workspace/impala-asf-master-core-ubsan/repos/Impala/logs/ee_tests/minidumps/impalad/c4aeb871-6e15-4e78-68236b8a-57af58b5.dmp

       

      Operating system: Linux
                        0.0.0 Linux 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64
      CPU: amd64
           family 6 model 85 stepping 4
           1 CPU
      
      GPU: UNKNOWN
      
      Crash reason:  SIGSEGV
      Crash address: 0x0
      Process uptime: not available
      
      Thread 1088 (crashed)
       0  impalad!void impala::DecimalUtil::DecodeFromFixedLenByteArray<impala::DecimalValue<__int128> >(unsigned char const*, int, impala::DecimalValue<__int128>*) [decimal-util.h : 132 + 0x12]
          rax = 0x000000001efcc01d   rdx = 0x0000000000000010
          rcx = 0x00007fade705a101   rbx = 0x00000000636cf801
          rsi = 0x00007fade705a2a0   rdi = 0x00007fade705a2ac
          rbp = 0x00007fade705a310   rsp = 0x00007fade705a1b0
           r8 = 0x000000001efcc01d    r9 = 0x0000000000000000
          r10 = 0x000000001efcc01d   r11 = 0x000000001fb90001
          r12 = 0x00007fade705dc10   r13 = 0x00007fade705e9c0
          r14 = 0x00007fade705e700   r15 = 0x0000000000000038
          rip = 0x00000000038f7c33
          Found by: given as instruction pointer in context
       1  impalad!void impala::DecodeDecimalFixedLen<impala::DecimalValue<__int128> >(unsigned char const*, unsigned char const*, int, impala::DecimalValue<__int128>*) [parquet-common.h : 608 + 0x5]
          rbx = 0x00000000636cf801   rbp = 0x00007fade705a3a0
          rsp = 0x00007fade705a320   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x00000000038f7a80
          Found by: call frame info
       2  impalad!int impala::ParquetPlainEncoder::Decode<impala::DecimalValue<__int128>, (parquet::Type::type)7>(unsigned char const*, unsigned char const*, int, impala::DecimalValue<__int128>*) [parquet-common.h : 640 + 0x5]
          rbx = 0x00000000636cf801   rbp = 0x00007fade705a460
          rsp = 0x00007fade705a3b0   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x00000000038f70ac
          Found by: call frame info
       3  impalad!bool impala::ScalarColumnReader<impala::DecimalValue<__int128>, (parquet::Type::type)7, true>::MaterializeValueBatch<false, (parquet::Encoding::type)0, false>(int, int, unsigned char*, int*) [parquet-column-readers.cc : 768 + 0x5]
          rbx = 0x00000000636cf801   rbp = 0x00007fade705a860
          rsp = 0x00007fade705a470   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x00000000044b1226
          Found by: call frame info
       4  impalad!bool impala::ScalarColumnReader<impala::DecimalValue<__int128>, (parquet::Type::type)7, true>::MaterializeValueBatch<false>(int, int, unsigned char*, int*) [parquet-column-readers.cc : 665 + 0x9]
          rbx = 0x00000000636cf801   rbp = 0x00007fade705a920
          rsp = 0x00007fade705a870   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x00000000044ad4d5
          Found by: call frame info
       5  impalad!bool impala::ScalarColumnReader<impala::DecimalValue<__int128>, (parquet::Type::type)7, true>::ReadValueBatch<false>(int, int, unsigned char*, int*) [parquet-column-readers.cc : 481 + 0xc]
          rbx = 0x00000000636cf801   rbp = 0x00007fade705abc0
          rsp = 0x00007fade705a930   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x00000000044acef3
          Found by: call frame info
       6  impalad!impala::ScalarColumnReader<impala::DecimalValue<__int128>, (parquet::Type::type)7, true>::ReadNonRepeatedValueBatch(impala::MemPool*, int, int, unsigned char*, int*) [parquet-column-readers.cc : 82 + 0x9]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705ac00
          rsp = 0x00007fade705abd0   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x0000000004492d2a
          Found by: call frame info
       7  impalad!impala::HdfsParquetScanner::AssembleRows(std::vector<impala::ParquetColumnReader*, std::allocator<impala::ParquetColumnReader*> > const&, impala::RowBatch*, bool*) [hdfs-parquet-scanner.cc : 1122 + 0x2d]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705b420
          rsp = 0x00007fade705ac10   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x000000000435a3dc
          Found by: call frame info
       8  impalad!impala::HdfsParquetScanner::GetNextInternal(impala::RowBatch*) [hdfs-parquet-scanner.cc : 461 + 0x16]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705c4d0
          rsp = 0x00007fade705b430   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x0000000004353eb2
          Found by: call frame info
       9  impalad!impala::HdfsParquetScanner::ProcessSplit() [hdfs-parquet-scanner.cc : 353 + 0x13]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705c6e0
          rsp = 0x00007fade705c4e0   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x000000000434f2f0
          Found by: call frame info
      10  impalad!impala::HdfsScanNode::ProcessSplit(std::vector<impala::FilterContext, std::allocator<impala::FilterContext> > const&, impala::MemPool*, impala::io::ScanRange*, long*) [hdfs-scan-node.cc : 500 + 0x29]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705cf30
          rsp = 0x00007fade705c6f0   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x000000000398074f
          Found by: call frame info
      11  impalad!impala::HdfsScanNode::ScannerThread(bool, long) [hdfs-scan-node.cc : 418 + 0xc]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705d5b0
          rsp = 0x00007fade705cf40   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x000000000397e775
          Found by: call frame info
      12  impalad!impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_0::operator()() const [hdfs-scan-node.cc : 339 + 0x12]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705d5f0
          rsp = 0x00007fade705d5c0   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700
          r15 = 0x0000000000000038   rip = 0x0000000003982270
          Found by: call frame info
      13  impalad!boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::$_0, void>::invoke(boost::detail::function::function_buffer&) [function_template.hpp : 159 + 0x15]
          rbx = 0x00000000636cf800   rbp = 0x00007fade705d620
          rsp = 0x00007fade705d600   r12 = 0x00007fade705dc10
          r13 = 0x00007fade705e9c0   r14 = 0x00007fade705e700

      Attachments

        Issue Links

          Activity

            People

              joemcdonnell Joe McDonnell
              stigahuang Quanlong Huang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: