RFR: 8339725: Concurrent GC crashed due to GetMethodDeclaringClass [v5]
Liang Mao
lmao at openjdk.org
Wed Sep 11 02:41:06 UTC 2024
On Wed, 11 Sep 2024 02:23:10 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Liang Mao has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Exclude libagent8339725.cpp compiling for windows
>
> src/hotspot/share/prims/jvmtiEnv.cpp line 3216:
>
>> 3214: NULL_CHECK(method, JVMTI_ERROR_INVALID_METHODID);
>> 3215: Klass* k = method->method_holder();
>> 3216: Handle holder(Thread::current(), k->klass_holder()); // keep the klass alive
>
> How do we know `k` is not already unloaded?
We don't know `k` would be unloaded or not in the middle of GC concurrent marking. So I think we need to keep it alive just like accessing weak reference.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20907#discussion_r1753034077
More information about the hotspot-dev
mailing list