> Hi, please consider the following changes: > > this is a fix for a bug in the `ObjectMonitor::wait()` method introduced by > [8366659](https://bugs.openjdk.org/browse/JDK-8366659). This bug leads to > increased failure rate of `ownedMonitorsAndFrames003`, though the test was > very seldomly failing before > [8366659](https://bugs.openjdk.org/browse/JDK-8366659). The fix just brings > the failure rate back to where it used to be. > > In short, [8366659](https://bugs.openjdk.org/browse/JDK-8366659) introduced a > code path where there was no handling of a suspension request until the > thread goes back to Java, which caused test failures slightly more often. > > If `should_post_monitor_waited()` returns false, then a thread, which > timed-out waiting and got a suspension request, does not have any suspension > check. > > Now the extra condition is removed and a thread in the `TS_RUN` state will > get its suspension request handled at the right place. > > A separate test which triggers the condition is added. > > Tested in tiers 1 - 7. > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Anton Artemov has updated the pull request incrementally with one additional commit since the last revision: 8382088: Addressed reviewer's comments. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/30709/files - new: https://git.openjdk.org/jdk/pull/30709/files/2558fd27..786c0bc4 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=30709&range=07 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=30709&range=06-07 Stats: 4 lines in 1 file changed: 0 ins; 4 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/30709.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30709/head:pull/30709 PR: https://git.openjdk.org/jdk/pull/30709
