RFR: 8253033: CheckUnhandledOops check fails in ThreadSnapshot::initialize… [v2]

Leonid Mesnik lmesnik at openjdk.java.net
Fri Sep 11 02:56:27 UTC 2020


On Fri, 11 Sep 2020 02:49:04 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> src/hotspot/share/services/threadService.cpp line 888:
>> 
>>> 886:       _thread_status == java_lang_Thread::IN_OBJECT_WAIT_TIMED) {
>>> 887:
>>> 888:     Handle obj = ThreadService::get_current_contended_monitor(thread);
>> 
>> There must be a safepoint here then.
>> I think this would be better and safer if blocker_object and blocker_object_owner are Handles.  Can you change them to
>> Handles?
>
> I can't see anywhere a safepoint check would occur in that code. This issue was flagged as being in Loom so perhaps the
> loom code is different and is what introduces the safepoint check? But I agree with Coleen that the best solution is to
> just use Handles.

It is not loom-specific and reproduced n jdk/jdk with -XX:+CheckUnhandledOops.

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

PR: https://git.openjdk.java.net/jdk/pull/123


More information about the hotspot-runtime-dev mailing list