You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Joe McDonnell (Code Review)" <ge...@cloudera.org> on 2020/06/01 04:46:03 UTC
[Impala-ASF-CR] Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
Joe McDonnell has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16009
Change subject: Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................
Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
When running a release binary built with GCC 7.5.0, it crashes
with an unaligned memory error in multiple pieces of code.
In these locations, we are doing stores to 128-bit values, but we
cannot guarantee alignment. GCC 7 must be optimizing the code to
use instructions that require a higher level of alignment than
we can provide.
This switches the code locations to use memcpy to avoid the
unaligned stores (with local variables as necessary).
Testing:
- Ran exhaustive tests with a release binary built by GCC 7.5.0
- Ran UBSAN core tests
- Add unaligned test case in decimal-test
Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9
---
M be/src/exprs/slot-ref.cc
M be/src/runtime/decimal-test.cc
M be/src/runtime/decimal-value.h
M be/src/util/dict-encoding.h
4 files changed, 13 insertions(+), 4 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/09/16009/2
--
To view, visit http://gerrit.cloudera.org:8080/16009
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9
Gerrit-Change-Number: 16009
Gerrit-PatchSet: 2
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
[Impala-ASF-CR] Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/16009 )
Change subject: Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................
Patch Set 2:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/6181/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/16009
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9
Gerrit-Change-Number: 16009
Gerrit-PatchSet: 2
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Comment-Date: Mon, 01 Jun 2020 05:33:30 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
Posted by "Joe McDonnell (Code Review)" <ge...@cloudera.org>.
Joe McDonnell has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/16009 )
Change subject: Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................
Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
When running a release binary built with GCC 7.5.0, it crashes
with an unaligned memory error in multiple pieces of code.
In these locations, we are doing stores to 128-bit values, but we
cannot guarantee alignment. GCC 7 must be optimizing the code to
use instructions that require a higher level of alignment than
we can provide.
This switches the code locations to use memcpy to avoid the
unaligned stores (with local variables as necessary).
Testing:
- Ran exhaustive tests with a release binary built by GCC 7.5.0
- Ran UBSAN core tests
- Add unaligned test case in decimal-test
Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9
Reviewed-on: http://gerrit.cloudera.org:8080/16009
Tested-by: Impala Public Jenkins <im...@cloudera.com>
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
---
M be/src/exprs/slot-ref.cc
M be/src/runtime/decimal-test.cc
M be/src/runtime/decimal-value.h
M be/src/util/dict-encoding.h
4 files changed, 13 insertions(+), 4 deletions(-)
Approvals:
Impala Public Jenkins: Verified
Tim Armstrong: Looks good to me, approved
--
To view, visit http://gerrit.cloudera.org:8080/16009
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9
Gerrit-Change-Number: 16009
Gerrit-PatchSet: 3
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
[Impala-ASF-CR] Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
Posted by "Tim Armstrong (Code Review)" <ge...@cloudera.org>.
Tim Armstrong has posted comments on this change. ( http://gerrit.cloudera.org:8080/16009 )
Change subject: Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................
Patch Set 2: Code-Review+2
--
To view, visit http://gerrit.cloudera.org:8080/16009
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9
Gerrit-Change-Number: 16009
Gerrit-PatchSet: 2
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-Comment-Date: Mon, 01 Jun 2020 21:29:08 +0000
Gerrit-HasComments: No