[
https://issues.apache.org/jira/browse/IMPALA-15235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18101476#comment-18101476
]
ASF subversion and git services commented on IMPALA-15235:
----------------------------------------------------------
Commit 1b4dc6f2757580a1b22c87194999449fe2cad053 in impala's branch
refs/heads/master from Balazs Hevele
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=1b4dc6f27 ]
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
Reviewed-on: http://gerrit.cloudera.org:8080/24653
Reviewed-by: Csaba Ringhofer <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
> Crash in KrpcDataStreamSender::SerializeBatch on ARM ASAN builds
> ----------------------------------------------------------------
>
> Key: IMPALA-15235
> URL: https://issues.apache.org/jira/browse/IMPALA-15235
> Project: IMPALA
> Issue Type: Bug
> Components: Backend
> Affects Versions: Impala 5.0.0
> Reporter: Yida Wu
> Assignee: Balazs Hevele
> Priority: Major
> Labels: broken-build
> Fix For: Impala 5.0.0
>
>
> Observed a couple of crashes in KrpcDataStreamSender::SerializeBatch during
> query execution on ARM ASAN builds.
> *Stack Trace:*
> Stack: [0x0000fffdd30d0000,0x0000fffdd38d0000], sp=0x0000fffdd38bc2a0, free
> space=8112k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
> code)
> C 0x0000fffebba91064
> C [impalad+0x2ddb648]
> impala::KrpcDataStreamSender::SerializeBatch(impala::RowBatch*,
> impala::OutboundRowBatch*, bool, int)+0x29c
> C [impalad+0x2de40c0]
> impala::KrpcDataStreamSender::Send(impala::RuntimeState*,
> impala::RowBatch*)+0x744
> C [impalad+0x2db9fc8] impala::FragmentInstanceState::ExecInternal()+0x9f0
> C [impalad+0x2db6274] impala::FragmentInstanceState::Exec()+0x3ac
> C [impalad+0x2c8b2c8]
> impala::QueryState::ExecFInstance(impala::FragmentInstanceState*)+0x44c
> C [impalad+0x361eb70] boost::function0<void>::operator()() const+0xb4
> C [impalad+0x38c9db0] impala::Thread::SuperviseThread(...)
> C [impalad+0x38d5eec] boost::_bi::bind_t<...>
> C [impalad+0x5007108] kudu::rpc::RequestHeader::_internal_has_request_id()
> const+0x54
> C [libpthread.so.0+0x78b8] start_thread+0x188
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]