Note that there are some explanatory texts on larger screens.

plurals
  1. POFindClass in jni code crashes JVM
    primarykey
    data
    text
    <p>I am trying to write a fairly basic JNI invocation from c++ code.</p> <pre><code>JavaVM *jvm; JNIEnv *env; JavaVMInitArgs vm_args; JavaVMOption options[2]; // Get the default initialization arguments and set the class // path. JNI_GetDefaultJavaVMInitArgs(&amp;vm_args); options[0].optionString = "-Djava.class.path=./hbase-1.0-SNAPSHOT.jar" options[1].optionString = "-verbose:jni"; vm_args.nOptions = 2; vm_args.version = JNI_VERSION_1_6; vm_args.options = options; // Load and initialize a Java VM, return a JNI interface // pointer in env. long result = JNI_CreateJavaVM(&amp;jvm, (void **)&amp;env, &amp;vm_args); if (result == JNI_ERR) { LOG(ERROR) &lt;&lt; "Failed to create a JVM"; return false; } jclass cls = env-&gt;FindClass("com/scaligent/falcon/hbase/HFileJniReader"); </code></pre> <p>My code crashes in FindClass. The strange thing is that I have a static block in the class and it prints the messages in the static block. I'm posting a few lines of error here. I cannot figure out how to debug or sovle this. </p> <pre><code>[Dynamic-linking native method java.lang.Package.getSystemPackage0 ... JNI] [Dynamic-linking native method java.util.jar.JarFile.getMetaInfEntryNames ... JNI] [Dynamic-linking native method java.lang.ClassLoader.defineClass1 ... JNI] [Dynamic-linking native method java.io.FileOutputStream.writeBytes ... JNI] Starting static block [Dynamic-linking native method java.util.zip.Inflater.getBytesWritten ... JNI] [Dynamic-linking native method sun.reflect.NativeMethodAccessorImpl.invoke0 ... JNI] [Dynamic-linking native method java.security.AccessController.doPrivileged ... JNI] [Dynamic-linking native method java.lang.Class.isAssignableFrom ... JNI] [Dynamic-linking native method java.lang.System.identityHashCode ... JNI] [Dynamic-linking native method java.util.zip.Inflater.end ... JNI] [Dynamic-linking native method java.util.zip.ZipFile.close ... JNI] [Dynamic-linking native method java.util.TimeZone.getSystemTimeZoneID ... JNI] [Dynamic-linking native method sun.nio.fs.UnixNativeDispatcher.init ... JNI] [Dynamic-linking native method sun.nio.fs.UnixNativeDispatcher.getcwd ... JNI] [Dynamic-linking native method sun.nio.fs.UnixNativeDispatcher.realpath0 ... JNI] [Dynamic-linking native method java.io.UnixFileSystem.getLength ... JNI] [Dynamic-linking native method java.util.ResourceBundle.getClassContext ... JNI] [Dynamic-linking native method sun.reflect.ConstantPool.getUTF8At0 ... JNI] [Dynamic-linking native method java.lang.reflect.Proxy.defineClass0 ... JNI] [Dynamic-linking native method java.lang.Class.isInstance ... JNI] 12/10/28 02:08:54 WARN conf.Configuration: fs.default.name is deprecated. Instead, use fs.defaultFS ending static block # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x000000000042f9e3, pid=7057, tid=140108980991808 # # JRE version: 7.0_04-b20 # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b21 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [hfile_jni_reader_test+0x2f9e3] ftell@@GLIBC_2.2.5+0x2f9e3 # # Core dump written. Default location: /home/amit/git2/scaligent/falcon/hbase/core or core.7057 # # An error report file with more information is saved as: # /home/amit/git2/scaligent/falcon/hbase/hs_err_pid7057.log # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload