Integrated: 8316417: ObjectMonitorIterator does not return the most recent monitor and is incorrect if no monitors exists

Axel Boldt-Christmas aboldtch at openjdk.org
Wed Sep 27 08:19:30 UTC 2023


On Mon, 18 Sep 2023 09:54:18 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

> ObjectMonitorIterator fails to return the most resent monitor added. It start with returning the `nextOM()` ObjectMonitor from the `_head` ObjectMonitor but fails to ever return the `_head` ObjectMonitor.
> The current implementation can also not handle that the `_head` is nullptr (no monitors in the system) and returns a null ObjectMonitorIterator. Which is interpreted as `monitor list not supported, too old hotspot VM`.
> 
> Changed the iterator to keep return the current monitor (starts with `_head`) and decoupled `_head == nullptr` from the question if ObjectMonitorIterator is supported. 
> 
> Testing:
>   * Passes all `serviceability/sa` tests
>   * Passed tier 1-5
>   * Passed GHA

This pull request has now been integrated.

Changeset: 50a7a04e
Author:    Axel Boldt-Christmas <aboldtch at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/50a7a04e9adef8d6e7adffb83b01d551e22cd910
Stats:     36 lines in 6 files changed: 8 ins; 10 del; 18 mod

8316417: ObjectMonitorIterator does not return the most recent monitor and is incorrect if no monitors exists

Reviewed-by: cjplummer, dholmes

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

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


More information about the serviceability-dev mailing list