RFR: 8257831: Suspend with handshakes [v3]

Robbin Ehn rehn at openjdk.java.net
Wed Apr 7 11:52:19 UTC 2021


On Wed, 7 Apr 2021 09:56:19 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:
>> 
>>  - Merge branch 'master' into SuspendInHandshake
>>  - Merge branch 'master' into SuspendInHandshake
>>  - 8257831: Suspend with handshake (review baseline)
>
> src/hotspot/share/runtime/objectMonitor.cpp line 428:
> 
>> 426:       } else {
>> 427:         // Only exit path from for loop
>> 428:         SafepointMechanism::process_if_requested(current);
> 
> I think the current thread can suspend here in L428. This seems problematic as entering OM has been started but not completed.
> 
> - The current thread is set as owner in ObjectMonitor::_owner
> - The thread state will still be JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER because of the JavaThreadBlockedOnMonitorEnterState in L389.
> - Thread::_current_pending_monitor has not been reset to NULL.

Yes, I think you are correct. I'll look over it.

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

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


More information about the serviceability-dev mailing list