[
https://issues.apache.org/jira/browse/IMPALA-9447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17050403#comment-17050403
]
ASF subversion and git services commented on IMPALA-9447:
---------------------------------------------------------
Commit d448f465091455082e9e71020f860edbb4465ba9 in impala's branch
refs/heads/master from norbert.luksa
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=d448f46 ]
IMPALA-9447: Fix for TupleRowCompareTest.DecimalTest crash
TupleRowCompareTest.DecimalTest crashes on release build
because of a faulty test. The problem occures with Decimal16Value
when the test tries to copy the values into the tuple in FillMem().
The solution is to use memcpy to avoid gcc generating unaligned
instructions like movaps for int128_t. They would raise SegmentFault
when addresses are not aligned to 16 bytes. This works with the
other types as well.
Tests:
- Run TupleRowCompareTest.
Change-Id: If2a53c88b57cec3a0bfcf02c492fbb560a80682d
Reviewed-on: http://gerrit.cloudera.org:8080/15347
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
> TupleRowCompareTest.DecimalTest crashes on release build
> --------------------------------------------------------
>
> Key: IMPALA-9447
> URL: https://issues.apache.org/jira/browse/IMPALA-9447
> Project: IMPALA
> Issue Type: Bug
> Components: Backend
> Affects Versions: Impala 3.4.0
> Reporter: Joe McDonnell
> Assignee: Norbert Luksa
> Priority: Blocker
> Labels: broken-build
>
> TupleRowCompareTest.DecimalTest crashes on the release build with the
> following stack:
> {noformat}
> Operating system: Linux
> 0.0.0 Linux 4.15.0-64-generic #73~16.04.1-Ubuntu SMP Fri
> Sep 13 09:56:18 UTC 2019 x86_64
> CPU: amd64
> family 6 model 94 stepping 3
> 1 CPUGPU: UNKNOWNCrash reason: SIGSEGV
> Crash address: 0x0
> Process uptime: not availableThread 0 (crashed)
> 0 unifiedbetests!int
> impala::TupleRowCompareTest::DecimalDecimalTest<impala::DecimalValue<__int128>
> >(long, long, long, long, int, int) [tuple-row-compare-test.cc : 121 + 0x0]
> rax = 0x000000000d2b2598 rdx = 0x0000000000000021
> rcx = 0x000000000e34e640 rbx = 0x000000000d1def00
> rsi = 0x00000000000005b9 rdi = 0x000000000d1df0d8
> rbp = 0x00007ffcc5aff280 rsp = 0x00007ffcc5aff150
> r8 = 0x0000000000000000 r9 = 0x0000000000000064
> r10 = 0x0000000000000000 r11 = 0x0000000000000001
> r12 = 0x000000000d1df0d8 r13 = 0x0000000000000002
> r14 = 0x00007ffcc5aff101 r15 = 0x000000000d2b2580
> rip = 0x00000000014b6981
> Found by: given as instruction pointer in context
> 1 unifiedbetests!impala::TupleRowCompareTest_DecimalTest_Test::TestBody()
> [tuple-row-compare-test.cc : 560 + 0x30]
> rbx = 0x00007ffcc5aff2b0 rbp = 0x00007ffcc5aff2f0
> rsp = 0x00007ffcc5aff290 r12 = 0x00007ffcc5aff2a0
> r13 = 0x00007ffcc5aff2c0 r14 = 0x000000000d1def00
> r15 = 0x0000000003399ef0 rip = 0x00000000014a0c81
> Found by: call frame info
> 2 unifiedbetests!void
> testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
> void>(testing::Test*, void (testing::Test::*)(), char const*) + 0x33
> rbx = 0x00000000014a01d0 rbp = 0x0000000000000000
> rsp = 0x00007ffcc5aff300 r12 = 0x000000000d1def00
> r13 = 0x0000000003576465 r14 = 0x000001709c90bbdc
> r15 = 0x0000000003399ef0 rip = 0x00000000033b4f03
> Found by: call frame info
> 3 unifiedbetests!testing::Test::Run() + 0xba
> rbx = 0x000000000d1def00 rbp = 0x0000000003399ef0
> rsp = 0x00007ffcc5aff340 r12 = 0x0000000006aa2000
> r13 = 0x000000000d1def00 r14 = 0x000001709c90bbdc
> r15 = 0x0000000003399ef0 rip = 0x00000000033acb5a
> Found by: call frame info
> 4 unifiedbetests!testing::TestInfo::Run() + 0x118
> rbx = 0x0000000006ad48f0 rbp = 0x0000000006aa2000
> rsp = 0x00007ffcc5aff360 r12 = 0x0000000006a90de0
> r13 = 0x000000000d1def00 r14 = 0x000001709c90bbdc
> r15 = 0x0000000003399ef0 rip = 0x00000000033acca8
> Found by: call frame info
> 5 unifiedbetests!testing::TestCase::Run() + 0xb5
> rbx = 0x000000000000000b rbp = 0x0000000006ac5500
> rsp = 0x00007ffcc5aff3a0 r12 = 0x0000000006aa2000
> r13 = 0x0000000006a90de0 r14 = 0x0000000003399ef0
> r15 = 0x000001709c90b7de rip = 0x00000000033acd85
> Found by: call frame info
> 6 unifiedbetests!testing::internal::UnitTestImpl::RunAllTests() + 0x258
> rbx = 0x0000000006aa2000 rbp = 0x0000000006a90de0
> rsp = 0x00007ffcc5aff3f0 r12 = 0x000000000000006c
> r13 = 0x0000000000000000 r14 = 0x000001709c90b7de
> r15 = 0x000000000478d2d4 rip = 0x00000000033ae008
> Found by: call frame info{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]