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. Test.java
          0.6 kB
          Georgiy Rakov
        2. bad.java
          0.0 kB
          Georgiy Rakov
        3. hs_err_pid3708.log
          17 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: