RFR: 8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed
Serguei Spitsyn
sspitsyn at openjdk.org
Wed Dec 24 08:50:04 UTC 2025
On Wed, 24 Dec 2025 06:41:51 GMT, Alan Bateman <alanb 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
Sorry, I've already integrated this PR and missed chance to correct line 59.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28965#discussion_r2645158235
More information about the serviceability-dev
mailing list