Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8043217

JNI_CreateJavaVM hangs if we use dlopen() previously

XMLWordPrintable

    • x86
    • linux_redhat_6.0

      FULL PRODUCT VERSION :
      java version "1.8.0_05"
      Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)


      FULL OS VERSION :
      rhel6 2.6.32-279.el6.x86_64

      A DESCRIPTION OF THE PROBLEM :
      When we try to create a Java VM from a C++ application using JNI, the application hangs when invoke the JNI_CreateJavaVM.

      This problem happens when we have generated a library with the C++ code for creating the JavaVM and we load it using a dlopen() function.

      The same code works fine and creates the JavaVM if we use jdk 1.7, or if our C++ application doesn't use dlopen().

      THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try

      THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try

      REGRESSION. Last worked in version 7u55

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Creates a C++ class which creates a JavaVM according to example in JNI specification (http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/invocation.html).
      Creates a library with the code, and builds a C++ application which loads dynamically with dlopen() the generated library.
      When you execute the application, it hangs in the invocation to method JNI_CreateJavaVM.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Expected: the creation of the JavaVM from C++ application.

      Actual: the application hangs.
      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      No error message obtained.

      REPRODUCIBILITY :
      This bug can be reproduced always.

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: