Balazs Hevele has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24653


Change subject: IMPALA-15235: Fix ARM crash in 
KrpcDataStreamSender::SerializeBatch
......................................................................

IMPALA-15235: Fix ARM crash in KrpcDataStreamSender::SerializeBatch

The crash was caused by the following mismatch:
-OutboundRowBatch::AppendRowWithDedup returns a Status struct (sret)
-The LLVM function created in
 OutboundRowBatch::CodegenAppendRowWithDedup created a function
 prototype with the first "status" argument being a normal argument (no
 sret)
-When replacing the call sites between these two, the registers were
 mismatched (on ARM, where the registers are shifted on sret), causing
 garbage values, eventually leading to a load on an unexpected value

The crash was introduced with IMPALA-14852.

The fix is to mark first "status" argument of the function prototype
explicitly as sret in OutboundRowBatch::CodegenAppendRowWithDedup.

Change-Id: I00e5dd328d7b2c7e44b1d2af3eebda4d14ec99c2
---
M be/src/runtime/outbound-row-batch.cc
1 file changed, 3 insertions(+), 0 deletions(-)



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I00e5dd328d7b2c7e44b1d2af3eebda4d14ec99c2
Gerrit-Change-Number: 24653
Gerrit-PatchSet: 1
Gerrit-Owner: Balazs Hevele <[email protected]>

Reply via email to