JDK-8275670 : ciReplay: java.lang.NoClassDefFoundError when trying to load java/lang/invoke/LambdaForm$MH
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 18
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-10-20
  • Updated: 2021-11-12
  • Resolved: 2021-11-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 18
18 b23Fixed
Related Reports
Blocks :  
Relates :  
Description
ciReplay fails with 
java.lang.NoClassDefFoundError: java/lang/invoke/LambdaForm$MH+0x0000000801001000
Caused by: java.lang.ClassNotFoundException: java.lang.invoke.LambdaForm$MH+0x0000000801001000
        at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@18-internal/BuiltinClassLoader.java:641)
        at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@18-internal/ClassLoaders.java:188)
        at java.lang.ClassLoader.loadClass(java.base@18-internal/ClassLoader.java:520)

when trying to
ciInstanceKlass java/lang/invoke/LambdaForm$MH+0x0000000801001000 1 1 50 1 7 1 100 1 1 1 1 1 1 1 7 1 1 12 9 1 12 9 1 7 1 1 12 10 1 1 1 1 1 7 1 1 12 10 1 7 1 1 12 11 1 7 12 9 1 1 1 1


To reproduce the issue use test/jdk/java/lang/String/Split.java as the test case.


> cp test/jdk/java/lang/String/Split.java to some local dir
> $JAVA_HOME/bin/javac Split.java
> $JAVA_HOME/bin/java -XX:CompileCommand=option,Split::*,DumpReplay Split
> $JAVA_HOME/bin/java -XX:+ReplayCompiles -XX:ReplayDataFile=[replay file created by previous step]

the last command fails with
Resolving klass java/lang/Exception at 135
java.lang.NoClassDefFoundError: java/lang/invoke/LambdaForm$MH+0x0000000801001000
Error while parsing line 946: java/lang/invoke/LambdaForm$MH+0x0000000801001000

java.lang.NoClassDefFoundError: java/lang/invoke/LambdaForm$MH+0x0000000801001000
Caused by: java.lang.ClassNotFoundException: java.lang.invoke.LambdaForm$MH+0x0000000801001000
        at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@18-internal/BuiltinClassLoader.java:641)
        at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@18-internal/ClassLoaders.java:188)
        at java.lang.ClassLoader.loadClass(java.base@18-internal/ClassLoader.java:520)
Comments
Changeset: dcf36f87 Author: Dean Long <dlong@openjdk.org> Date: 2021-11-04 19:52:27 +0000 URL: https://git.openjdk.java.net/jdk/commit/dcf36f87f87d52490c1f0434c2fca99fc8fd90a2
04-11-2021

ILW = replay failure, no workaround = MMH = P3
21-10-2021

Looks like 8271911 improvement isn't covering some cases.
21-10-2021