You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Wei-Chiu Chuang (Jira)" <ji...@apache.org> on 2020/05/04 20:11:00 UTC

[jira] [Resolved] (HDFS-15270) Account for *env == NULL in hdfsThreadDestructor

     [ https://issues.apache.org/jira/browse/HDFS-15270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wei-Chiu Chuang resolved HDFS-15270.
------------------------------------
    Fix Version/s: 3.4.0
       Resolution: Fixed

Thanks [~babsingh] this is in the trunk. Do you have a branch in mind that you want this cherrypicked to?

> Account for *env == NULL in hdfsThreadDestructor
> ------------------------------------------------
>
>                 Key: HDFS-15270
>                 URL: https://issues.apache.org/jira/browse/HDFS-15270
>             Project: Hadoop HDFS
>          Issue Type: Bug
>         Environment: Please refer to the "steps to reproduce" the failure in https://github.com/eclipse/openj9/issues/7752#issue-521732953.
>            Reporter: Babneet Singh
>            Assignee: Babneet Singh
>            Priority: Major
>             Fix For: 3.4.0
>
>
> OpenJ9 JVM properly terminates the thread before hdfsThreadDestructor is
> invoked. JNIEnv is a mirror of J9VMThread in OpenJ9. After proper thread
> termination, accessing JNIEnv in hdfsThreadDestructor (*env)->GetJavaVM,
> yields a SIGSEGV since *env is NULL after thread cleanup is performed.
> The main purpose of hdfsThreadDestructor is to invoke
> DetachCurrentThread, which performs thread cleanup in OpenJ9. Since
> OpenJ9 performs thread cleanup before hdfsThreadDestructor is invoked,
> hdfsThreadDestructor should account for *env == NULL and skip
> DetachCurrentThread.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org