On Sun, 26 May 2024 09:27:00 GMT, SendaoYan <[email protected]> wrote:

> Hi all,
>   ObjectMonitorUsage.java failed with `unexpected waiter_count` after 
> [JDK-8328083](https://bugs.openjdk.org/browse/JDK-8328083) on linux x86_32.
>   There are two changes in this PR:
> 1. In `JvmtiEnvBase::get_object_monitor_usage` function, change from 
> `java_lang_VirtualThread::is_instance(thread_oop)` to 
> `thread_oop->is_a(vmClasses::BaseVirtualThread_klass())`to support the 
> alternative implementation.
> 2. In `Threads::get_pending_threads(ThreadsList *, int, address)` function of 
> threads.cpp file, change from 
> `java_lang_VirtualThread::is_instance(thread_oop)` to 
> `thread_oop->is_a(vmClasses::BaseVirtualThread_klass())`to support the 
> alternative implementation. This modified function only used by 
> `JvmtiEnvBase::get_object_monitor_usage(JavaThread*, jobject, 
> jvmtiMonitorUsage*)`, so the risk of the modified on threads.cpp file is low.
> 
>   
> 
> Additional testing:
> - [x] linux x86_32 run all testcases in serviceability/jvmti, all testcases 
> run successed expect 
> `serviceability/jvmti/vthread/GetThreadState/GetThreadStateTest.java#default` 
> run failed. This test also run failed before this PR, which has been recorded 
> in [JDK-8333140](https://bugs.openjdk.org/browse/JDK-8333140)
> - [x] linux x86_64 run all testcases in serviceability/jvmti, all testcases 
> run successed.

This pull request has now been integrated.

Changeset: 51b2f806
Author:    SendaoYan <[email protected]>
Committer: Serguei Spitsyn <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/51b2f80627adc1ca9f8335c3c028109a7018a8be
Stats:     5 lines in 2 files changed: 0 ins; 0 del; 5 mod

8332923: ObjectMonitorUsage.java failed with unexpected waiter_count

Co-authored-by: Jiawei Tang <[email protected]>
Reviewed-by: sspitsyn, alanb, amitkumar

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

PR: https://git.openjdk.org/jdk/pull/19405

Reply via email to