RFR: 8277444: Data race between JvmtiClassFileReconstituter::copy_bytecodes and class linking [v4]

Evgeny Astigeevich eastigeevich at openjdk.org
Tue Sep 2 21:45:05 UTC 2025


On Tue, 2 Sep 2025 12:04:01 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Evgeny Astigeevich 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 JDK-8277444
>>  - Link classes before copy_bytecodes; Add regression test
>>  - Symplify comments; Get JavaThread::current in variable
>>  - Add missing include runtime/synchronizer.hpp
>>  - 8277444: Race condition on Instrumentation.retransformClasses() and class linking
>
> src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp line 35:
> 
>> 33: #include "runtime/handles.inline.hpp"
>> 34: #include "runtime/signature.hpp"
>> 35: #include "runtime/synchronizer.hpp"
> 
> You don't need this include anymore.

Removed.

> src/hotspot/share/prims/jvmtiEnv.cpp line 3446:
> 
>> 3444:     current_thread->clear_pending_exception();
>> 3445:     return JVMTI_ERROR_INVALID_CLASS;
>> 3446:   }
> 
> Can you use the pattern:
> 
> 
>     JavaThread* THREAD = current_thread;
>     ... link_class(THREAD);
>     if (HAS_PENDING_EXCEPTION)
>       etc.

Switched to macros.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26863#discussion_r2317234764
PR Review Comment: https://git.openjdk.org/jdk/pull/26863#discussion_r2317235161


More information about the serviceability-dev mailing list