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/05/28 18:01:34 UTC

[Impala-ASF-CR] IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores

Joe McDonnell has uploaded this change for review. ( http://gerrit.cloudera.org:8080/15993


Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................

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 memset / memcpy with
local variables to avoid the unaligned stores.

Testing:
 - Ran exhaustive tests with a release binary built by GCC 7.5.0
 - Ran exhaustive tests

Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
---
M be/src/exprs/slot-ref.cc
M be/src/util/decimal-util.h
M be/src/util/dict-encoding.h
3 files changed, 9 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/93/15993/1
-- 
To view, visit http://gerrit.cloudera.org:8080/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
Gerrit-PatchSet: 1
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>

[Impala-ASF-CR] 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/15993 )

Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................


Patch Set 1: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
Gerrit-PatchSet: 1
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: Thu, 28 May 2020 18:18:09 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] 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/15993 )

Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................


Patch Set 2:

Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/5904/ DRY_RUN=false


-- 
To view, visit http://gerrit.cloudera.org:8080/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
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: Thu, 28 May 2020 20:34:00 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] 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/15993 )

Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................


Patch Set 1:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/6145/ : 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/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
Gerrit-PatchSet: 1
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: Thu, 28 May 2020 18:46:22 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] 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/15993 )

Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................


Patch Set 2: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
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: Fri, 29 May 2020 03:51:10 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] 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/15993 )

Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................


Patch Set 2: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
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: Thu, 28 May 2020 20:33:59 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/15993 )

Change subject: IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores
......................................................................

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 memset / memcpy with
local variables to avoid the unaligned stores.

Testing:
 - Ran exhaustive tests with a release binary built by GCC 7.5.0
 - Ran exhaustive tests

Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Reviewed-on: http://gerrit.cloudera.org:8080/15993
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
M be/src/exprs/slot-ref.cc
M be/src/util/decimal-util.h
M be/src/util/dict-encoding.h
3 files changed, 9 insertions(+), 4 deletions(-)

Approvals:
  Impala Public Jenkins: Looks good to me, approved; Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/15993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I67320790789d5b57aeaf2dff0eae7352a1cbf81e
Gerrit-Change-Number: 15993
Gerrit-PatchSet: 3
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>