Zero: JNIEnv argument is corrupted in native calls

XMLWordPrintable

      Every so often I am seeing the following crash in Zero:

      $ CONF=linux-x86_64-zero-fastdebug make images

      gmake[2]: *** Waiting for unfinished jobs....
      00:00:08 #
      00:00:08 # A fatal error has been detected by the Java Runtime Environment:
      00:00:08 #
      00:00:08 # SIGSEGV (0xb) at pc=0x00007d544b834264, pid=1938031, tid=1938034
      00:00:08 #
      00:00:08 # JRE version: (27.0) (fastdebug build )
      00:00:08 # Java VM: OpenJDK 64-Bit Zero VM (fastdebug 27-internal-adhoc.shade.jdk, interpreted mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      00:00:08 # Problematic frame:
      00:00:08 # C [libjava.so+0x13264] Java_java_lang_System_registerNatives+0x4
      00:00:08 #
      00:00:08 # Core dump will be written. Default location: Determined by the following: "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -F%F -- %E" (alternatively, falling back to /home/shade/trunks/jdk/core.1938031)

      When that happens, the Zero VM appears completely borked and fail along the (first?) native call, which happens to be System.registerNatives:

      $ gdb -- build/linux-x86_64-zero-fastdebug/jdk/bin/java

      (gdb) run

      Thread 2 "java" received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7ffff69ff6c0 (LWP 1938260)]
      Java_java_lang_System_registerNatives (env=0xfefefefefefefefe, cls=0x7ffff69fc510)
          at /home/shade/trunks/jdk/src/java.base/share/native/libjava/System.c:51
      51 (*env)->RegisterNatives(env, cls,

      Note how JNIEnv is 0xfefefefefefefefe, to me it looks like an uninitialized stack.

            Assignee:
            Aleksey Shipilev
            Reporter:
            Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: