JDK-8372045 : AOT assembly phase asserts with old class if AOT class linking is disabled
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 26
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2025-11-18
  • Updated: 2025-11-24
  • Resolved: 2025-11-18
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 26
26 b25Fixed
Related Reports
Causes :  
Description
Since JDK-8317269, when assembling an AOT cache, AOT class linking can be disabled under a few circumstances:

1. -XX:-AOTClassLinking is specified
2. -XX:-UseCompressedClassPointers (this disabled heap dumping)
3. Fill module graph caching is disabled due to incompatible module flags

In an old class is loaded by the application during the training run, we could get an assert like this:

#  assert(can_be_verified_at_dumptime()) failed: must be

Stack: [0x000000731f900000,0x000000731fa00000],  sp=0x000000731f9fec50,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0xbf7254]  InstanceKlass::remove_unshareable_info+0x44  (instanceKlass.cpp:2648)
V  [jvm.dll+0x3ce6de]  ArchiveBuilder::make_klasses_shareable+0xf6e  (archiveBuilder.cpp:959)
V  [jvm.dll+0x3bddf3]  VM_PopulateDumpSharedSpace::doit+0x193  (aotMetaspace.cpp:689)
V  [jvm.dll+0x154027d]  VM_Operation::evaluate+0xbd  (vmOperations.cpp:74)
V  [jvm.dll+0x155163b]  VMThread::evaluate_operation+0x8b  (vmThread.cpp:284)
V  [jvm.dll+0x1551a1c]  VMThread::inner_execute+0x35c  (vmThread.cpp:421)
V  [jvm.dll+0x1551e47]  VMThread::loop+0x117  (vmThread.cpp:487)
V  [jvm.dll+0x1552203]  VMThread::run+0xf3  (vmThread.cpp:177)
V  [jvm.dll+0x1473b9e]  Thread::call_run+0x18e  (thread.cpp:243)
V  [jvm.dll+0x11ba7c5]  thread_native_entry+0x105  (os_windows.cpp:555)
C  [ucrtbase.dll+0x21bb2]  (no source info available)
C  [KERNEL32.DLL+0x17344]  (no source info available)
C  [ntdll.dll+0x526b1]  (no source info available)

Comments
Changeset: b3e408c0 Branch: master Author: Ioi Lam <iklam@openjdk.org> Date: 2025-11-18 18:12:07 +0000 URL: https://git.openjdk.org/jdk/commit/b3e408c07891b58a312a58ffd756d6a1d18c0f6d
18-11-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/28365 Date: 2025-11-18 05:05:09 +0000
18-11-2025