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

Joe McDonnell resolved IMPALA-9801.
-----------------------------------
    Fix Version/s: Impala 4.0
       Resolution: Duplicate

> E2E tests crashed in DecimalUtil::DecodeFromFixedLenByteArray
> -------------------------------------------------------------
>
>                 Key: IMPALA-9801
>                 URL: https://issues.apache.org/jira/browse/IMPALA-9801
>             Project: IMPALA
>          Issue Type: Bug
>    Affects Versions: Impala 4.0
>            Reporter: Quanlong Huang
>            Assignee: Joe McDonnell
>            Priority: Critical
>              Labels: broken-build
>             Fix For: Impala 4.0
>
>
> 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
> {code:java}
> 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{code}
> Crash 2: 
> /data/jenkins/workspace/impala-asf-master-core-ubsan/repos/Impala/logs/ee_tests/minidumps/impalad/c4aeb871-6e15-4e78-68236b8a-57af58b5.dmp
>  
> {code:java}
> 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{code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to