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

InterfaceName.super::m crashes VM, provided 'm' misses in 'InterfaceName' at run-time

XMLWordPrintable

    • b103

      Let's consider two sources presented below:

      Test.java:
      interface MyFunctionalInterface {
          int invokeMethodReference(int a);
      }

      interface MethodSupplier {
          default int m(int a) { return a; }
      }

      class MethodInvoker implements MethodSupplier {
          public static void invoke() {
              new MethodInvoker().doInvoke();
          }
          public void doInvoke() {
              MyFunctionalInterface instance = MethodSupplier.super::<Integer>m;
              instance.invokeMethodReference(1);
          }
      }

      public class Test {
          public static void main(String argv[]) throws Throwable {
              Class.forName("MethodInvoker").getMethod("invoke").invoke(null);
          }
      }

      bad.java:
      interface MethodSupplier {
      }

      Following actions undertaken in presented order crashes VM:
      1) Compile Test.java;
      2) Compile bad.java;
      3) Run Test.main;

      After running following output is produced:
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006614a391, pid=3708, tid=4532
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0-b103) (build 1.8.0-ea-b103)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b45 mixed mode windows-amd64 compressed oops)
      # Problematic frame:
      # V [jvm.dll+0x5a391]
      #
      # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
      #
      # An error report file with more information is saved as:
      # D:\langworks\hs_err_pid3708.log
      Phoning home...
      #
      Using server: 10.161.186.18, port 4711
      # If you would like to submit a bug report, please visit:
      # http://bugreport.sun.com/bugreport/crash.jsp
      #

      Corresponding log file is attached. Sources causing the crash are attached as well.
      This happens on b103 on Windows7x64 platform.

        1. bad.java
          0.0 kB
          Georgiy Rakov
        2. hs_err_pid3708.log
          17 kB
          Georgiy Rakov
        3. Test.java
          0.6 kB
          Georgiy Rakov

            acorn Karen Kinnear (Inactive)
            grakov Georgiy Rakov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: