RFR: 8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed
Alan Bateman
alanb at openjdk.org
Wed Dec 24 06:45:13 UTC 2025
On Tue, 23 Dec 2025 17:06:30 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
> Please, review a simple fix for a jdk 26 regression: [JDK-8364343](https://bugs.openjdk.org/browse/JDK-8364343). It will be pushed to 27 first and then back ported to 26.
> This issue impacts JVM TI scalability. The [JDK-8364343](https://bugs.openjdk.org/browse/JDK-8364343) replaced the overloaded ctor `MountUnmountDisabler(jthread thread)` with `MountUnmountDisabler(oop thread_oop)`. This caused the most common JVM TI pattern `MountUnmountDisabler disabler(thread)` (where thread is a jthread) to be resolved to `MountUnmountDisabler(bool exclusive)`. It makes the instantiated `MountUnmountDisabler` to disable `mount/unmount` transitions for all virtual thread instead of the specific one. This problem was identified with a minor tracing.
>
> The fix restores the original ctor `MountUnmountDisabler(jthread thread)`.
>
> Testing:
> - TBD: run mach5 tiers 1-6
src/hotspot/share/runtime/mountUnmountDisabler.hpp line 59:
> 57:
> 58: public:
> 59: MountUnmountDisabler(bool exlusive = false);
In passing, exlusive -> exclusive
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28965#discussion_r2644936219
More information about the serviceability-dev
mailing list