This problem can be observed after JDK-8308463. An easy way to reproduce it:
void RegeneratedClasses::add_class(InstanceKlass* orig_klass, InstanceKlass* regen_klass) {
if (regen_m == nullptr) {
ResourceMark rm;
log_warning(cds)("Method in original class is missing from regenerated class: " INTPTR_FORMAT " %s",
p2i(orig_m), orig_m->external_name());
abort(); <<==== Add this line
Then:
Creating interim java.base.jmod
Creating interim jimage
/bin/bash: line 3: 188467 Aborted /repo/build/linux-x64/support/interim-image/bin/java -Xshare:dump -XX:SharedClassListFile=/repo/build/linux-x64/support/link_opt/classlist.interim -XX:SharedArchiveFile=/repo/build/linux-x64/support/link_opt/classlist.jsa -Xmx128M -Xms128M > /dev/null
gmake[3]: *** [GenerateLinkOptData.gmk:70: /repo/build/linux-x64/support/link_opt/classlist] Error 134
gmake[2]: *** [make/Main.gmk:649: generate-link-opt-data] Error 2
ERROR: Build failed for target 'jdk-image' in configuration '/repo/build/linux-x64' (exit code 2)
$ /repo/build/linux-x64/support/interim-image/bin/java -Xshare:dump -XX:SharedClassListFile=/repo/build/linux-x64/support/link_opt/classlist.interim -XX:SharedArchiveFile=/repo/build/linux-x64/support/link_opt/classlist.jsa -Xmx128M -Xms128M
[...]
[0.136s][warning][cds] java.lang.ClassNotFoundException: java.lang.invoke.BoundMethodHandle$Species_IL
[0.136s][warning][cds] Preload Warning: Cannot find java/lang/invoke/BoundMethodHandle$Species_IL
[0.320s][warning][cds] Method in original class is missing from regenerated class: 0x00007f35e45ecc70 void java.lang.invoke.DelegatingMethodHandle$Holder.<init>(java.lang.invoke.DelegatingMethodHandle)
Aborted
void RegeneratedClasses::add_class(InstanceKlass* orig_klass, InstanceKlass* regen_klass) {
if (regen_m == nullptr) {
ResourceMark rm;
log_warning(cds)("Method in original class is missing from regenerated class: " INTPTR_FORMAT " %s",
p2i(orig_m), orig_m->external_name());
abort(); <<==== Add this line
Then:
Creating interim java.base.jmod
Creating interim jimage
/bin/bash: line 3: 188467 Aborted /repo/build/linux-x64/support/interim-image/bin/java -Xshare:dump -XX:SharedClassListFile=/repo/build/linux-x64/support/link_opt/classlist.interim -XX:SharedArchiveFile=/repo/build/linux-x64/support/link_opt/classlist.jsa -Xmx128M -Xms128M > /dev/null
gmake[3]: *** [GenerateLinkOptData.gmk:70: /repo/build/linux-x64/support/link_opt/classlist] Error 134
gmake[2]: *** [make/Main.gmk:649: generate-link-opt-data] Error 2
ERROR: Build failed for target 'jdk-image' in configuration '/repo/build/linux-x64' (exit code 2)
$ /repo/build/linux-x64/support/interim-image/bin/java -Xshare:dump -XX:SharedClassListFile=/repo/build/linux-x64/support/link_opt/classlist.interim -XX:SharedArchiveFile=/repo/build/linux-x64/support/link_opt/classlist.jsa -Xmx128M -Xms128M
[...]
[0.136s][warning][cds] java.lang.ClassNotFoundException: java.lang.invoke.BoundMethodHandle$Species_IL
[0.136s][warning][cds] Preload Warning: Cannot find java/lang/invoke/BoundMethodHandle$Species_IL
[0.320s][warning][cds] Method in original class is missing from regenerated class: 0x00007f35e45ecc70 void java.lang.invoke.DelegatingMethodHandle$Holder.<init>(java.lang.invoke.DelegatingMethodHandle)
Aborted