Right click (Control+click on macOS) on a row in CPU Sampler does nothing: should show context menu.
To Reproduce
- Open a CPU sampler profile
- Try to right click (Control+click on macOS) on a row in CPU Sampler
- Nothing happens
Adding -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED to visualvm_default_options resolves problem.
Expected behavior
Expect context menu to pop up in CPU Sampler.
VisualVM log
java.lang.reflect.InaccessibleObjectException: Unable to make field int java.awt.event.InputEvent.modifiers accessible: module java.desktop does not "opens java.awt.event" to unnamed module @3afc27e1
INFO [null]: Last record repeated 4 more times.
at java.desktop/java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2045)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4907)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.reflect.InaccessibleObjectException: Unable to make field int java.awt.event.InputEvent.modifiers accessible: module java.desktop does not "opens java.awt.event" to unnamed module @3afc27e1
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at org.netbeans.modules.applemenu.CtrlClickHack.eventDispatched(CtrlClickHack.java:95)
at java.desktop/java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2197)
at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2089)
at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2088)
INFO [null]: Last record repeated 4 more times.
at java.desktop/java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2045)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4907)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Screenshots
When I right click on a Hot spot call no context menu comes up.
As an example, I can get a context menu for JFR Snapshots

but nothing happens in for the Hot spot rows.

Desktop
Version: 2.1.6 (Build 230324); platform 20220908-c4f2d87113
System: Mac OS X (13.1) , x86_64 64bit
Java: 17.0.5; OpenJDK 64-Bit Server VM (17.0.5+8, mixed mode, sharing)
Vendor: Eclipse Adoptium, https://adoptium.net/
Environment: UTF-8; en_US (visualvm)
User directory: /Users/nezda/Library/Application Support/VisualVM/2.1.6
Cache directory: /Users/nezda/Library/Caches/VisualVM/2.1.6
Clusters:
/Applications/VisualVM.app/Contents/Resources/visualvm/platform
/Applications/VisualVM.app/Contents/Resources/visualvm/visualvm
Found after proposing existing feature #492
Right click (Control+click on macOS) on a row in CPU Sampler does nothing: should show context menu.
To Reproduce
Adding
-J--add-opens=java.desktop/java.awt.event=ALL-UNNAMEDtovisualvm_default_optionsresolves problem.Expected behavior
Expect context menu to pop up in CPU Sampler.
VisualVM log
java.lang.reflect.InaccessibleObjectException: Unable to make field int java.awt.event.InputEvent.modifiers accessible: module java.desktop does not "opens java.awt.event" to unnamed module @3afc27e1Screenshots
When I right click on a Hot spot call no context menu comes up.
As an example, I can get a context menu for JFR Snapshots
but nothing happens in for the Hot spot rows.
Desktop
Found after proposing existing feature #492