RFR: 8366905: Store AdapterBlob pointer in AdapterHandlerEntry [v2]

Ashutosh Mehra asmehra at openjdk.org
Fri Sep 19 21:45:20 UTC 2025


On Fri, 19 Sep 2025 20:44:57 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
>> 
>>  - Merge branch 'master' into store-blob-pointer-adapterhandlerentry-v2
>>  - Remove unused method and change numeric constants to enums
>>    
>>    Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
>>  - Address review comments
>>    
>>    Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
>>  - Do not call generate_i2c2i_adapters() on zero
>>    
>>    Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
>>  - Store pointer to AdapterBlob in AdapterHandlerEntry
>>    
>>    Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
>
> Test runtime/cds/appcds/aotClassLinking/StringConcatStress.java#aot crashed on all platforms:
> 
> 
> #  Internal Error (/workspace/open/src/hotspot/share/memory/resourceArea.cpp:54), pid=3871604, tid=3871606
> #  fatal error: memory leak: allocating without ResourceMark
> #
> # JRE version:  (26.0) (fastdebug build )
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-internal-2025-09-19-1627068.vladimir.kozlov.jdkgit2, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V  [libjvm.so+0x191e1c6]  ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26
> #
> 
> ---------------  S U M M A R Y ------------
> 
> Command Line: -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/install/jdk/24/36/bundles/linux-x64/jdk-24_linux-x64_bin.tar.gz/jdk-24 -Djava.io.tmpdir=/tmp -XX:+AOTClassLinking -Xlog:arguments,aot,cds:file=StringConcatStressApp.production.log::filesize=0 -XX:AOTMode=on -XX:AOTCache=StringConcatStressApp.aot StringConcatStressApp
> 
> ---------------  T H R E A D  ---------------
> 
> Current thread (0x00007fad1002ded0):  JavaThread "Unknown thread" [_thread_in_vm, id=3871606, stack(0x00007fad140b9000,0x00007fad141b9000) (1024K)]
> 
> Stack: [0x00007fad140b9000,0x00007fad141b9000],  sp=0x00007fad141b59a0,  free space=1010k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V  [libjvm.so+0x191e1c6]  ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26  (resourceArea.cpp:54)
> V  [libjvm.so+0x191e55b]  (align.hpp:82)
> V  [libjvm.so+0x17e4f87]  stringStream::as_string(bool) const+0x57  (ostream.cpp:425)
> V  [libjvm.so+0x1989e3b]  AdapterHandlerLibrary::link_aot_adapters()+0x54b  (sharedRuntime.cpp:2359)
> V  [libjvm.so+0x198a925]  AdapterHandlerLibrary::initialize()+0x3a5  (sharedRuntime.cpp:2558)
> V  [libjvm.so+0x10481b6]  init_globals()+0xa6  (init.cpp:168)
> V  [libjvm.so+0x1b7c08e]  Threads::create_vm(JavaVMInitArgs*, bool*)+0x34e  (threads.cpp:592)
> V  [libjvm.so+0x12159b4]  JNI_CreateJavaVM+0x54  (jni.cpp:3587)

@vnkozlov I incorrectly removed a ResourceMark in `AdapterHandlerEntry::link()` which is causing the crash. Pushed a commit to add it back.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/27101#issuecomment-3313916585


More information about the hotspot-dev mailing list