Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-15270

Account for *env == NULL in hdfsThreadDestructor

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              babsingh Babneet Singh
              babsingh Babneet Singh
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: