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

java.lang.BootstrapMethodError: call site initialization exception

XMLWordPrintable

    • generic
    • generic

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

      FULL OS VERSION :
      Windows 8.1, version 6.3, build 9600

      A DESCRIPTION OF THE PROBLEM :
      In runtime SAM instantiation using method reference to clone throws BootstrapMethodError.

      THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Yes

      THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Save test-case to file "A.java" and in the same directory execute following commands:

      javac A.java
      java A

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Normal program termination.
      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "main" java.lang.BootstrapMethodError: call site initialization exception
              at java.lang.invoke.CallSite.makeSite(Unknown Source)
              at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Unknown Source)
              at java.lang.invoke.MethodHandleNatives.linkCallSite(Unknown Source)
              at A.main(A.java:3)
      Caused by: java.lang.NoClassDefFoundError: A$$Lambda$1
              at sun.misc.Unsafe.defineAnonymousClass(Native Method)
              at java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass(Unknown Source)
              at java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite(Unknown Source)
              at java.lang.invoke.LambdaMetafactory.metafactory(Unknown Source)
              ... 4 more
      Caused by: java.lang.ClassNotFoundException: A$$Lambda$1
              at java.net.URLClassLoader.findClass(Unknown Source)
              at java.lang.ClassLoader.loadClass(Unknown Source)
              at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
              at java.lang.ClassLoader.loadClass(Unknown Source)
              ... 8 more

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      public class A {
      public static void main(String...a) {
      java.util.concurrent.Callable<?> c = new A()::clone;
      }
      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Bug does not occur when I use a lambda calling the clone method, fe. replacing " a::clone ", with " () -> a.clone() ".

        1. A.java
          0.1 kB
          Fairoz Matte
        2. JDK8175806.java
          2 kB
          Dan Smith

            dlsmith Dan Smith
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: