> Please review this small test fix. We need to make sure the two threads are 
> blocked on the expected locks before invoking findMonitorDeadlockedThreads. 
> In the failing cases, one of the threads is seen as blocked while waiting for 
> a class to be initialized by the other thread (I've added the stack traces 
> showing where this occurs in the bug comments).
> 
> I should point out that there is an inconsistency in the VM here though. We 
> are changing the state to Thread.State.BLOCKED while using ObjectLocker 
> internally when there is contention to enter the monitor, but we don’t change 
> the state to Thread.State.WAITING when using ObjectLocker and calling 
> wait_uninterruptibly(). I still think the test should be improved to avoid 
> having to think if there is some other synchronize statement executed along 
> the way (CyclicBarrier implementation for instance, or code run by a vthread 
> during startup).
> 
> I was able to reproduce the failure and verified it doesn’t reproduce anymore 
> with the fix.
> 
> Thanks,
> Patricio

Patricio Chilano Mateo has updated the pull request incrementally with one 
additional commit since the last revision:

  Rename awaitBlocked to awaitTrueAndBlocked

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25119/files
  - new: https://git.openjdk.org/jdk/pull/25119/files/7c067865..c36728d8

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25119&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25119&range=00-01

  Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/25119.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25119/head:pull/25119

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

Reply via email to