RFR: JDK-8229829: java/lang/management/ThreadMXBean/Locks.java fails with java.lang.RuntimeException: Thread WaitingThread is at WAITING state but is expected to be in Thread.State = WAITING
Alex Menkov
alexey.menkov at oracle.com
Thu May 14 18:04:56 UTC 2020
I agree with the point.
updated webrev (only WAITING handling is added):
http://cr.openjdk.java.net/~amenkov/jdk15/Locks_waiting/webrev.2/
--alex
On 05/13/2020 19:20, David Holmes wrote:
> Hi Alex,
>
> On 14/05/2020 10:55 am, Alex Menkov wrote:
>> Hi all,
>>
>> Please review the fix for
>> https://bugs.openjdk.java.net/browse/JDK-8229829
>> webrev:
>> http://cr.openjdk.java.net/~amenkov/jdk15/Locks_waiting/webrev/
>>
>> The fix adds handling for WAITING
>
> That part is good.
>
>> (and for consistency TIMED_WAITING
>
> But this could be a problem. I know what your intent is but we are
> waiting to observe a thread transition to a state that it can't escape
> from, but with TIMED_WAITING the thread can escape - when the timeout
> elapses. So it is possible that the target becomes TIMED_WAITING before
> you check the state, but then leaves that state due to timeout, and then
> you check the state and will loop until you trigger a failure.
>
> Cheers,
> David
> -----
>
>> which is not used in the test) states as it has for BLOCKED state.
>>
>> --alex
More information about the serviceability-dev
mailing list