[ 
https://issues.apache.org/jira/browse/IMPALA-12273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17765779#comment-17765779
 ] 

ASF subversion and git services commented on IMPALA-12273:
----------------------------------------------------------

Commit fcbd7f0d3decef20e7e1282449d220008f4d2d57 in impala's branch 
refs/heads/branch-4.3.0 from qqzhang
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=fcbd7f0d3 ]

IMPALA-12273 Fix possible memory corruption of premature release of objects 
returned by native methods

In the Jni Native method, there was an erroneous usage of JniLocalFrame.
The JniLocalFrame mistakenly released the reference to the returned
object during its destruction, causing the object to be reclaimed during
high-concurrency garbage collection.

The solution is to remove the JniLocalFrame-related code, since the
native method does not create a local frame in JniEnv.

Testing: During stress testing, there have been no further occurrences
of memory corruption.

Change-Id: I94b1c6b3f96897850512c01cdb942ebdcc59b694
Reviewed-on: http://gerrit.cloudera.org:8080/20174
Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>


> Deserialization failure, because of 'InternalException: couldn't execute a 
> batch of exprs'
> ------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-12273
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12273
>             Project: IMPALA
>          Issue Type: Bug
>    Affects Versions: Impala 3.0, Impala 3.1.0, Impala 3.2.0, Impala 4.0.0, 
> Impala 3.3.0, Impala 3.4.0, Impala 4.1.0, Impala 4.2.0
>            Reporter: zhangqianqiong
>            Assignee: zhangqianqiong
>            Priority: Critical
>             Fix For: Impala 4.3.0
>
>         Attachments: 
> FeSupport.15b28f2002cd.impala.log.INFO.20230630-175220.28436, 
> FeSupport.15b28f2002cd.impala.log.INFO.20230706-180457.2772, 
> hs_err_pid12712.log
>
>
> During stress testing, an anomalous behavior was observed: deserialization 
> failures leading to SQL execution failures.
> After multiple tests, three failure scenarios were identified:
>  # InternalException: couldn't execute a batch of exprs. The root cause is 
> TProtocolException: Unrecognized type 97.
>  # InternalException: couldn't execute a batch of exprs. The root cause is 
> TTransportException:  Cannot read. Remote side has closed. Tried to read 1 
> bytes, but only got 0 bytes.
>  # JVM core dump, with the root cause being 
> G1ParScanThreadState::copy_to_survivor_space(InCSetState, oopDesc*, 
> markOopDesc*)+0x263.
> By extracting a minimal test case, the above errors could be reproduced, 
> ultimately indicating that the object returned by the native method in the 
> Java code JNI invocation was prematurely gc.
>  
> The hs_err and log are attached.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to