On Mon, 13 Apr 2026 14:25:49 GMT, Anton Artemov <[email protected]> wrote:
> 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). This pull request has now been integrated. Changeset: d96d196c Author: Anton Artemov <[email protected]> URL: https://git.openjdk.org/jdk/commit/d96d196ccebd4b336e246657f839769870a52107 Stats: 169 lines in 2 files changed: 163 ins; 2 del; 4 mod 8382088: ObjectMonitor::wait() lacks suspension handling for TS_RUN path Reviewed-by: pchilanomate, fbredberg, dholmes ------------- PR: https://git.openjdk.org/jdk/pull/30709
