oracle / visualvm

VisualVM is an All-in-One Java Troubleshooting Tool
https://visualvm.github.io/
Other
2.87k stars 300 forks source link

IllegalArgumentException: Could not find MonitoredHost for scheme: local #99

Closed octylFractal closed 4 years ago

octylFractal commented 6 years ago

Roughly half the time, when I start VisualVM (1.4.1), the local applications do not show up, and the exception below is caught:

java.lang.IllegalArgumentException: Could not find MonitoredHost for scheme: local
    at jdk.internal.jvmstat/sun.jvmstat.monitor.MonitoredHost.getMonitoredHost(MonitoredHost.java:177)
    at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.getMonitoredHost(JvmstatApplicationProvider.java:363)
    at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnection(JvmstatApplicationProvider.java:254)
    at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnections(JvmstatApplicationProvider.java:126)
    at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.processNewHost(JvmstatApplicationProvider.java:119)
    at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.access$000(JvmstatApplicationProvider.java:72)
    at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider$1.run(JvmstatApplicationProvider.java:98)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)
thurka commented 6 years ago

This looks weird. Can you please attach whole messages.log, not just part of it. Thanks.

dmks commented 5 years ago

I have the same problem for 1.4.2


Log Session: Monday, December 24, 2018 at 5:23:26 PM Pacific Standard Time System Info: Product Version = VisualVM 1.4.2 Operating System = Mac OS X version 10.14.1 running on x86_64 Java; VM; Vendor = 11.0.1; Java HotSpot(TM) 64-Bit Server VM 11.0.1+13-LTS; Oracle Corporation Runtime = Java(TM) SE Runtime Environment 11.0.1+13-LTS Java Home = /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home System Locale; Encoding = en_US (visualvm); UTF-8 Home Directory = /Users/chenzhimin Current Directory = / User Directory = /Users/chenzhimin/Library/Application Support/VisualVM/1.4 Cache Directory = /Users/chenzhimin/Library/Caches/VisualVM/1.4 Installation = /Applications/VisualVM.app/Contents/Resources/visualvm/visualvm /Applications/VisualVM.app/Contents/Resources/visualvm/profiler /Applications/VisualVM.app/Contents/Resources/visualvm/platform Boot & Ext. Classpath = Application Classpath = /Applications/VisualVM.app/Contents/Resources/visualvm/platform/lib/boot.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/lib/org-openide-modules.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/lib/org-openide-util-lookup.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/lib/org-openide-util-ui.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/lib/org-openide-util.jar Startup Classpath = /Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/org-netbeans-libs-asm.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/asm-all-5.0.1.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/org-openide-filesystems.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/core.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/core-base.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/visualvm/core/com-sun-tools-visualvm-modules-startup.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/visualvm/core/locale/core_visualvm.jar

INFO [org.netbeans.core.startup.NbEvents]: Turning on modules: org.openide.util.lookup [8.34 20180815-unknown-revn] org.openide.util [9.8 20180815-unknown-revn] org.openide.util.ui [9.8 20180815-unknown-revn] org.openide.modules [7.49 20180815-unknown-revn] org.netbeans.api.annotations.common/1 [1.28 20180815-unknown-revn] org.openide.filesystems [9.11 20180815-unknown-revn] org.openide.awt [7.68 20180815-unknown-revn] org.netbeans.api.progress/1 [1.48 20180815-unknown-revn] org.netbeans.api.progress.nb [1.48 20180815-unknown-revn] org.openide.dialogs [7.43 20180815-unknown-revn] org.openide.nodes [7.46 20180815-unknown-revn] org.openide.windows [6.77 20180815-unknown-revn] org.netbeans.modules.editor.mimelookup/1 [1.41 20180815-unknown-revn] org.openide.text [6.68 20180815-unknown-revn] org.netbeans.swing.tabcontrol [1.57 20180815-unknown-revn] org.netbeans.swing.outline [1.35 20180815-unknown-revn] org.openide.explorer [6.63 20180815-unknown-revn] org.openide.actions [6.40 20180815-unknown-revn] org.netbeans.modules.queries/1 [1.44 20180815-unknown-revn] org.netbeans.api.templates [1.9 20180815-unknown-revn] org.openide.filesystems.nb [9.11 20180815-unknown-revn] org.openide.loaders [7.67 20180815-unknown-revn] org.netbeans.api.intent [1.3 20180815-unknown-revn] org.netbeans.api.io [1.4 20180815-unknown-revn] org.openide.io [1.50 20180815-unknown-revn] org.netbeans.swing.plaf [1.42 20180815-unknown-revn] org.netbeans.spi.quicksearch [1.28 20180815-unknown-revn] org.netbeans.libs.asm [5.4 20180815-unknown-revn] org.netbeans.bootstrap/1 [2.77 20180815-unknown-revn] org.netbeans.core.startup.base [1.63.0.1 1 20180815-unknown-revn] org.netbeans.core.startup/1 [1.63.0.1 20180815-unknown-revn] org.netbeans.modules.settings/1 [1.50 20180815-unknown-revn] org.netbeans.modules.sendopts/2 [2.37 20180815-unknown-revn] org.netbeans.modules.sampler [1.15 20180815-unknown-revn] org.netbeans.modules.progress.ui [1.34 20180815-unknown-revn] org.netbeans.modules.profiler.utilities/1 [1.38 20180815-unknown-revn] org.netbeans.lib.profiler/1 [1.111 20180815-unknown-revn] org.netbeans.lib.profiler.charts/1 [1.31 20180815-unknown-revn] org.netbeans.lib.profiler.common/1 [1.50 20180815-unknown-revn] org.netbeans.modules.profiler.api/1 [1.51 20180815-unknown-revn] org.netbeans.lib.profiler.ui/1 [1.146 20180815-unknown-revn] org.netbeans.modules.keyring [1.25 20180815-unknown-revn] org.netbeans.core/2 [3.52 20180815-unknown-revn] org.netbeans.modules.options.api/1 [1.46 20180815-unknown-revn] org.netbeans.modules.profiler.attach/2 [2.23 20180815-unknown-revn] org.netbeans.core.windows/2 [2.83 20180815-unknown-revn] org.netbeans.modules.profiler/3 [3.32 20180815-unknown-revn] org.netbeans.modules.profiler.snaptracer/1 [1.25 20180815-unknown-revn] org.netbeans.modules.profiler.oql/2 [2.19 20180815-unknown-revn] org.netbeans.modules.profiler.heapwalker [1.113 20180815-unknown-revn] org.netbeans.modules.options.keymap [1.38 20180815-unknown-revn] org.netbeans.modules.masterfs/2 [2.56.0.2 2 20180815-unknown-revn] org.netbeans.modules.masterfs.ui [2.4.0.2 20180815-unknown-revn] org.netbeans.modules.masterfs.nio2 [1.16 20180815-unknown-revn] org.netbeans.libs.jna/1 [1.48 20180815-unknown-revn] org.netbeans.modules.masterfs.macosx [1.14 20180815-unknown-revn] org.netbeans.modules.keyring.fallback [1.9 20180815-unknown-revn] org.netbeans.modules.keyring.impl [1.25 20180815-unknown-revn] org.netbeans.modules.editor.mimelookup.impl/1 [1.33 20180815-unknown-revn] org.netbeans.modules.autoupdate.services [1.53 20180815-unknown-revn] org.netbeans.modules.autoupdate.ui [1.46 20180815-unknown-revn] org.netbeans.modules.autoupdate.cli [1.14 20180815-unknown-revn] org.netbeans.modules.applemenu/1 [1.38 20180815-unknown-revn] org.netbeans.libs.jna.platform/1 [1.16 20180815-unknown-revn] org.netbeans.core.ui/1 [1.46 20180815-unknown-revn] org.netbeans.core.network [1.11 20180815-unknown-revn] org.netbeans.core.nativeaccess/1 [1.32 20180815-unknown-revn] org.netbeans.core.multitabs/1 [1.13.0.1 1 20180815-unknown-revn] org.netbeans.core.io.ui/1 [1.31 20180815-unknown-revn] com.sun.tools.visualvm.uisupport/0 [1.4 180926] com.sun.tools.visualvm.core/0 [1.6 180926] com.sun.tools.visualvm.host/0 [1.0 180926] com.sun.tools.visualvm.application/0 [1.11 180926] com.sun.tools.visualvm.tools/0 [1.4 180926] com.sun.tools.visualvm.coredump/0 [1.1 180926] com.sun.tools.visualvm.threaddump/0 [1.0 180926] com.sun.tools.visualvm.heapviewer/0 [1.0 180926] com.sun.tools.visualvm.heapdump/0 [1.3 180926] com.sun.tools.visualvm.profiling/0 [1.5 180926] com.sun.tools.visualvm.sampler [2.1 180926] com.sun.tools.visualvm.sa/0 [1.1 180926] com.sun.tools.visualvm.modules.startup [1.1 180926] com.sun.tools.visualvm.profiler/0 [1.6 180926] com.sun.tools.visualvm.modules.appui [1.0 180926] com.sun.tools.visualvm.jvmstat/0 [1.0 180926] com.sun.tools.visualvm.jvm/0 [1.1 180926] com.sun.tools.visualvm.jmx/0 [1.4 180926] com.sun.tools.visualvm.charts/0 [1.5 180926] com.sun.tools.visualvm.host.views/0 [1.0 180926] com.sun.tools.visualvm.host.remote/0 [1.0 180926] com.sun.tools.visualvm.attach/0 [1.1 180926] com.sun.tools.visualvm.application.views/0 [1.0 180926] INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy resolver: Mac INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy reloading failed! Trying fallback resolver. INFO [org.netbeans.core.network.proxy.fallback.FallbackNetworkProxy]: Fallback system proxy resolver: no http_proxy variable found INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy reloading succeeded. Fallback provider was successful. INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy - mode: direct INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy: fell to default (correct if direct mode went before) INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider$1 java.lang.IllegalArgumentException: Could not find MonitoredHost for scheme: local at jdk.internal.jvmstat/sun.jvmstat.monitor.MonitoredHost.getMonitoredHost(MonitoredHost.java:177) at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.getMonitoredHost(JvmstatApplicationProvider.java:363) at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnection(JvmstatApplicationProvider.java:254) at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnections(JvmstatApplicationProvider.java:126) at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.processNewHost(JvmstatApplicationProvider.java:119) at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.access$000(JvmstatApplicationProvider.java:72) at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider$1.run(JvmstatApplicationProvider.java:98) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443) at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303) [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058) Diagnostic information Input arguments: -Djdk.home=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home -Dnetbeans.default_userdir_root=/Users/chenzhimin/Library/Application Support/VisualVM -Dnetbeans.dirs=/Applications/VisualVM.app/Contents/Resources/visualvm/visualvm:/Applications/VisualVM.app/Contents/Resources/visualvm/profiler: -Dnetbeans.home=/Applications/VisualVM.app/Contents/Resources/visualvm/platform -Xms24m -Xmx256m -Dnetbeans.accept_license_class=com.sun.tools.visualvm.modules.startup.AcceptLicense -Dsun.jvmstat.perdata.syncWaitMs=10000 -Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false -Dorg.netbeans.core.TimeableEventQueue.quantum=360000 --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.desktop/sun.swing=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -XX:+IgnoreUnrecognizedVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/chenzhimin/Library/Application Support/VisualVM/1.4/var/log/heapdump.hprof Compiler: HotSpot 64-Bit Tiered Compilers Heap memory usage: initial 24.0MB maximum 256.0MB Non heap memory usage: initial 7.3MB maximum -1b Garbage collector: G1 Young Generation (Collections=13 Total time spent=0s) Garbage collector: G1 Old Generation (Collections=0 Total time spent=0s) Classes: loaded=6616 total loaded=6616 unloaded 0 INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 17,179,869,184 INFO [null]: Total physical memory 17,179,869,184 WARNING [org.netbeans.modules.progress.spi.InternalHandle]: Cannot switch to silent mode when not running at org.netbeans.core.ui.warmup.MenuWarmUpTask$NbWindowsAdapter$1HandleBridge.run(MenuWarmUpTask.java:269) INFO [com.sun.tools.visualvm.attach.AttachModelImpl]: printFlag java.io.IOException: Can not attach to current VM at jdk.attach/sun.tools.attach.HotSpotVirtualMachine.(HotSpotVirtualMachine.java:75) at jdk.attach/sun.tools.attach.VirtualMachineImpl.(VirtualMachineImpl.java:56) at jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58) at jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207) at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:124) Caused: java.io.IOException: Can not attach to current VM at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:126) [catch] at com.sun.tools.visualvm.attach.AttachModelImpl.printFlag(AttachModelImpl.java:89) at com.sun.tools.visualvm.jvm.JVMImpl.isDumpOnOOMEnabled(JVMImpl.java:257) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:83) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:77) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:46) at com.sun.tools.visualvm.core.ui.actions.SingleDataSourceAction.updateState(SingleDataSourceAction.java:77) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:98) at com.sun.tools.visualvm.core.ui.actions.DataSourceAction.initialize(DataSourceAction.java:90) at com.sun.tools.visualvm.core.ui.actions.DataSourceAction.doInitialize(DataSourceAction.java:122) at com.sun.tools.visualvm.core.ui.actions.DataSourceAction.isEnabled(DataSourceAction.java:99) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getActions(ExplorerContextMenuFactory.java:171) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getSelectionActions(ExplorerContextMenuFactory.java:127) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getActions(ExplorerContextMenuFactory.java:121) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getDefaultActionFor(ExplorerContextMenuFactory.java:113) at com.sun.tools.visualvm.core.explorer.ExplorerComponent.getDefaultAction(ExplorerComponent.java:194) at com.sun.tools.visualvm.core.explorer.ExplorerComponent.access$100(ExplorerComponent.java:68) at com.sun.tools.visualvm.core.explorer.ExplorerComponent$1.processMouseEvent(ExplorerComponent.java:108) at java.desktop/java.awt.Component.processEvent(Component.java:6397) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) 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) INFO [com.sun.tools.visualvm.attach.AttachModelImpl]: getSystemProperties java.io.IOException: Can not attach to current VM at jdk.attach/sun.tools.attach.HotSpotVirtualMachine.(HotSpotVirtualMachine.java:75) at jdk.attach/sun.tools.attach.VirtualMachineImpl.(VirtualMachineImpl.java:56) at jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58) at jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207) at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:124) Caused: java.io.IOException: Can not attach to current VM at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:126) [catch] at com.sun.tools.visualvm.attach.AttachModelImpl.getSystemProperties(AttachModelImpl.java:56) at com.sun.tools.visualvm.jvm.JVMImpl.getSystemProperties(JVMImpl.java:341) at com.sun.tools.visualvm.application.views.overview.ApplicationOverviewModel.initialize(ApplicationOverviewModel.java:229) at com.sun.tools.visualvm.application.views.overview.ApplicationOverviewModel.initialize(ApplicationOverviewModel.java:135) at com.sun.tools.visualvm.application.views.overview.ApplicationOverviewView.willBeAdded(ApplicationOverviewView.java:56) at com.sun.tools.visualvm.core.ui.DataSourceView.viewWillBeAdded(DataSourceView.java:192) at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.addViews(DataSourceWindowManager.java:282) at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.openWindowAndAddView(DataSourceWindowManager.java:207) at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.access$000(DataSourceWindowManager.java:50) at com.sun.tools.visualvm.core.ui.DataSourceWindowManager$2.run(DataSourceWindowManager.java:117) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443) at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)

krasa commented 4 years ago

Very rare, but still in 2.0 with JDK 11.0.3

-------------------------------------------------------------------------------
>Log Session: Sunday, February 23, 2020 at 3:24:05 PM Central European Standard Time
>System Info: 
  Product Version         = VisualVM 2.0
  Operating System        = Windows 10 version 10.0 running on amd64
  Java; VM; Vendor        = 11.0.3; Java HotSpot(TM) 64-Bit Server VM 11.0.3+12-LTS; Oracle Corporation
  Runtime                 = Java(TM) SE Runtime Environment 11.0.3+12-LTS
  Java Home               = C:\Program Files\Java\jdk-11.0.3
  System Locale; Encoding = en_US (visualvm); Cp1250
  Home Directory          = C:\Users\vojtisek
  Current Directory       = C:\Users\vojtisek\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-1\193.6494.35\jbr\bin
  User Directory          = C:\Users\vojtisek\AppData\Roaming\VisualVM\2.0
  Cache Directory         = C:\Users\vojtisek\AppData\Local\VisualVM\Cache\2.0
  Installation            = F:\visualvm_20\visualvm
                            F:\visualvm_20\platform
  Boot & Ext. Classpath   = 
  Application Classpath   = F:\visualvm_20\platform\lib\boot.jar;F:\visualvm_20\platform\lib\org-openide-modules.jar;F:\visualvm_20\platform\lib\org-openide-util-lookup.jar;F:\visualvm_20\platform\lib\org-openide-util-ui.jar;F:\visualvm_20\platform\lib\org-openide-util.jar
  Startup Classpath       = F:\visualvm_20\platform\core\asm-all-5.0.1.jar;F:\visualvm_20\platform\core\core-base.jar;F:\visualvm_20\platform\core\core.jar;F:\visualvm_20\platform\core\org-netbeans-libs-asm.jar;F:\visualvm_20\platform\core\org-openide-filesystems.jar;F:\visualvm_20\visualvm\core\org-graalvm-visualvm-modules-startup.jar;F:\visualvm_20\visualvm\core\locale\core_visualvm.jar
-------------------------------------------------------------------------------
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
    org.openide.util.lookup [8.38 20191008-unknown-revn]
    org.openide.util [9.12 20191008-unknown-revn]
    org.openide.util.ui [9.13 20191008-unknown-revn]
    org.openide.modules [7.53 20191008-unknown-revn]
    org.netbeans.api.annotations.common/1 [1.32 20191008-unknown-revn]
    org.openide.filesystems [9.15 20191008-unknown-revn]
    org.openide.awt [7.73 20191008-unknown-revn]
    org.netbeans.api.progress/1 [1.52 20191008-unknown-revn]
    org.netbeans.api.progress.nb [1.52 20191008-unknown-revn]
    org.openide.dialogs [7.47 20191008-unknown-revn]
    org.openide.nodes [7.50 20191008-unknown-revn]
    org.openide.windows [6.82 20191008-unknown-revn]
    org.netbeans.modules.editor.mimelookup/1 [1.45 20191008-unknown-revn]
    org.openide.text [6.72 20191008-unknown-revn]
    org.netbeans.api.scripting [1.2 20191008-unknown-revn]
    org.netbeans.swing.tabcontrol [1.61 20191008-unknown-revn]
    org.netbeans.swing.outline [1.39 20191008-unknown-revn]
    org.openide.explorer [6.67 20191008-unknown-revn]
    org.openide.actions [6.44 20191008-unknown-revn]
    org.netbeans.modules.queries/1 [1.48 20191008-unknown-revn]
    org.netbeans.api.templates [1.13 20191008-unknown-revn]
    org.openide.filesystems.nb [9.15 20191008-unknown-revn]
    org.openide.loaders [7.72 20191008-unknown-revn]
    org.netbeans.api.intent [1.7 20191008-unknown-revn]
    org.netbeans.api.io [1.8 20191008-unknown-revn]
    org.openide.io [1.54 20191008-unknown-revn]
    org.netbeans.swing.plaf [1.46 20191008-unknown-revn]
    org.netbeans.spi.quicksearch [1.32 20191008-unknown-revn]
    org.netbeans.libs.asm [5.8 20191008-unknown-revn]
    org.netbeans.bootstrap/1 [2.83 20191008-unknown-revn]
    org.netbeans.core.startup.base [1.67.0.1 1 20191008-unknown-revn]
    org.netbeans.core.startup/1 [1.67.0.1 20191008-unknown-revn]
    org.netbeans.modules.settings/1 [1.54 20191008-unknown-revn]
    org.netbeans.modules.sendopts/2 [2.41 20191008-unknown-revn]
    org.netbeans.modules.sampler [1.19 20191008-unknown-revn]
    org.netbeans.modules.progress.ui [1.38 20191008-unknown-revn]
    org.netbeans.modules.keyring [1.29 20191008-unknown-revn]
    org.netbeans.core/2 [3.56 20191008-unknown-revn]
    org.netbeans.modules.options.api/1 [1.50 20191008-unknown-revn]
    org.netbeans.modules.options.keymap [1.42 20191008-unknown-revn]
    org.netbeans.libs.jna/1 [1.52 20191008-unknown-revn]
    org.netbeans.modules.masterfs/2 [2.60.0.2 2 20191008-unknown-revn]
    org.netbeans.modules.masterfs.windows [1.21 20191008-unknown-revn]
    org.netbeans.modules.masterfs.ui [2.8.0.2 20191008-unknown-revn]
    org.netbeans.modules.masterfs.nio2 [1.20 20191008-unknown-revn]
    org.netbeans.modules.keyring.fallback [1.13 20191008-unknown-revn]
    org.netbeans.modules.keyring.impl [1.29 20191008-unknown-revn]
    org.netbeans.modules.editor.mimelookup.impl/1 [1.37 20191008-unknown-revn]
    org.netbeans.modules.autoupdate.services [1.58 20191008-unknown-revn]
    org.netbeans.modules.autoupdate.ui [1.50 20191008-unknown-revn]
    org.netbeans.modules.autoupdate.cli [1.18 20191008-unknown-revn]
    org.netbeans.libs.jna.platform/1 [1.20 20191008-unknown-revn]
    org.netbeans.core.windows/2 [2.88 20191008-unknown-revn]
    org.netbeans.core.ui/1 [1.50 20191008-unknown-revn]
    org.netbeans.core.network [1.17 20191008-unknown-revn]
    org.netbeans.core.nativeaccess/1 [1.36 20191008-unknown-revn]
    org.netbeans.core.multitabs/1 [1.17.0.1 1 20191008-unknown-revn]
    org.netbeans.core.io.ui/1 [1.35 20191008-unknown-revn]
    org.graalvm.visualvm.lib.jfluid/2 [2.0 200217]
    org.graalvm.visualvm.lib.charts/2 [2.0 200213]
    org.graalvm.visualvm.lib.common/2 [2.0 200217]
    org.graalvm.visualvm.lib.profiler.api/2 [2.0 200217]
    org.graalvm.visualvm.lib.ui/2 [2.0 200217]
    org.graalvm.visualvm.uisupport/2 [2.0 200217]
    org.graalvm.visualvm.core/2 [2.0 200217]
    org.graalvm.visualvm.host/2 [2.0 200217]
    org.graalvm.visualvm.application/2 [2.0 200217]
    org.graalvm.visualvm.tools/2 [2.0 200217]
    org.graalvm.visualvm.coredump/2 [2.0 200217]
    org.graalvm.visualvm.threaddump/2 [2.0 200217]
    org.graalvm.visualvm.lib.profiler.utilities/2 [2.0 200213]
    org.graalvm.visualvm.lib.profiler.attach/2 [2.0 200217]
    org.graalvm.visualvm.lib.profiler/2 [2.0 200217]
    org.graalvm.visualvm.lib.profiler.snaptracer/2 [2.0 200217]
    org.graalvm.visualvm.profiling/2 [2.0 200217]
    org.graalvm.visualvm.lib.profiler.oql/2 [2.0 200217]
    org.graalvm.visualvm.lib.profiler.heapwalker/2 [2.0 200217]
    org.graalvm.visualvm.heapviewer/2 [2.0 200217]
    org.graalvm.visualvm.heapdump/2 [2.0 200217]
    org.graalvm.visualvm.sampler.truffle/2 [2.0 200217]
    org.graalvm.visualvm.sampler/2 [2.0 200217]
    org.graalvm.visualvm.sa/2 [2.0 200217]
    org.graalvm.visualvm.modules.startup/2 [2.0 200213]
    org.graalvm.visualvm.profiler/2 [2.0 200217]
    org.graalvm.visualvm.modules.graalvm/2 [2.0 200217]
    org.graalvm.visualvm.modules.appui/2 [2.0 200217]
    org.graalvm.visualvm.jvmstat/2 [2.0 200217]
    org.graalvm.visualvm.jvm/2 [2.0 200217]
    org.graalvm.visualvm.jmx/2 [2.0 200217]
    org.graalvm.visualvm.charts/2 [2.0 200217]
    org.graalvm.visualvm.jfr/2 [2.0 200217]
    org.graalvm.visualvm.jfr.jdk9/2 [2.0 200217]
    org.graalvm.visualvm.jfr.jdk11/2 [2.0 200217]
    org.graalvm.visualvm.jfr.generic/2 [2.0 200217]
    org.graalvm.visualvm.host.views/2 [2.0 200217]
    org.graalvm.visualvm.host.remote/2 [2.0 200217]
    org.graalvm.visualvm.heapviewer.truffle/2 [2.0 200217]
    org.graalvm.visualvm.heapviewer.console/2 [2.0 200217]
    org.graalvm.visualvm.attach/2 [2.0 200217]
    org.graalvm.visualvm.application.views/2 [2.0 200217]
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy resolver: Windows
INFO [org.netbeans.core.network.proxy.windows.WindowsNetworkProxy]: Windows system proxy resolver: auto detect
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy reloading succeeded.
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy - mode: direct
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy: fell to default (correct if direct mode went before)
INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider$1
java.lang.IllegalArgumentException: Could not find MonitoredHost for scheme: local
    at jdk.internal.jvmstat/sun.jvmstat.monitor.MonitoredHost.getMonitoredHost(MonitoredHost.java:177)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.getMonitoredHost(JvmstatApplicationProvider.java:373)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnection(JvmstatApplicationProvider.java:264)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnections(JvmstatApplicationProvider.java:129)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.processNewHost(JvmstatApplicationProvider.java:122)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.access$000(JvmstatApplicationProvider.java:75)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider$1.run(JvmstatApplicationProvider.java:101)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
Diagnostic information
Input arguments:
    -Xms24m
    -Xmx768m
    -Dnetbeans.accept_license_class=org.graalvm.visualvm.modules.startup.AcceptLicense
    -Dsun.jvmstat.perdata.syncWaitMs=10000
    -Dsun.java2d.noddraw=true
    -Dsun.java2d.d3d=false
    -Dorg.netbeans.core.TimeableEventQueue.quantum=360000
    -Dpolyglot.js.nashorn-compat=true
    -Dsun.misc.URLClassPath.disableJarChecking=true
    --add-exports=java.desktop/sun.awt=ALL-UNNAMED
    --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED
    --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
    --add-exports=java.desktop/sun.swing=ALL-UNNAMED
    --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED
    --add-opens=java.base/java.net=ALL-UNNAMED
    --add-opens=java.base/java.lang.ref=ALL-UNNAMED
    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.desktop/javax.swing=ALL-UNNAMED
    --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
    -XX:+IgnoreUnrecognizedVMOptions
    -Djdk.home=C:/Program Files/Java/jdk-11.0.3
    -Dnetbeans.home=F:\visualvm_20\platform
    -Dnetbeans.user=C:\Users\vojtisek\AppData\Roaming\VisualVM\2.0
    -Dnetbeans.default_userdir_root=C:\Users\vojtisek\AppData\Roaming\VisualVM
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=C:\Users\vojtisek\AppData\Roaming\VisualVM\2.0\var\log\heapdump.hprof
    -Dsun.awt.keepWorkingSetOnMinimize=true
    -Dnetbeans.dirs=F:\visualvm_20\visualvm
Compiler: HotSpot 64-Bit Tiered Compilers
Heap memory usage: initial 24,0MB maximum 768,0MB
Non heap memory usage: initial 7,3MB maximum -1b
Garbage collector: G1 Young Generation (Collections=18 Total time spent=0s)
Garbage collector: G1 Old Generation (Collections=0 Total time spent=0s)
Classes: loaded=6417 total loaded=6417 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 17 125 773 312
INFO [null]: Total physical memory 17 125 773 312
INFO [org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogParser]: Unpaired license D5533D83 without any module.
scruz84 commented 4 years ago

Same here with JDK 11.0.7. I suspect that it could be related with running VirtualBox at same time, or something like that.

INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy: fell to default (correct if direct mode went before)
INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider$1
java.lang.IllegalArgumentException: Could not find MonitoredHost for scheme: local
    at jdk.internal.jvmstat/sun.jvmstat.monitor.MonitoredHost.getMonitoredHost(MonitoredHost.java:177)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.getMonitoredHost(JvmstatApplicationProvider.java:373)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnection(JvmstatApplicationProvider.java:264)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnections(JvmstatApplicationProvider.java:129)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.processNewHost(JvmstatApplicationProvider.java:122)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider.access$000(JvmstatApplicationProvider.java:75)
    at org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider$1.run(JvmstatApplicationProvider.java:101)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
Diagnostic information
Input arguments:
    -Djdk.home=/opt/java
    -Dnetbeans.default_userdir_root=/home/sergio/.visualvm
    -Dnetbeans.running.environment=gnome
    -Dnetbeans.dirs=/opt/visualvm_201/visualvm:
    -Dnetbeans.home=/opt/visualvm_201/platform
    -Xms24m
    -Xmx768m
    -Dnetbeans.accept_license_class=org.graalvm.visualvm.modules.startup.AcceptLicense
    -Dsun.jvmstat.perdata.syncWaitMs=10000
    -Dsun.java2d.noddraw=true
    -Dsun.java2d.d3d=false
    -Dorg.netbeans.core.TimeableEventQueue.quantum=360000
    -Dpolyglot.js.nashorn-compat=true
    -Dsun.misc.URLClassPath.disableJarChecking=true
    --add-exports=java.desktop/sun.awt=ALL-UNNAMED
    --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED
    --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
    --add-exports=java.desktop/sun.swing=ALL-UNNAMED
    --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED
    --add-opens=java.base/java.net=ALL-UNNAMED
    --add-opens=java.base/java.lang.ref=ALL-UNNAMED
    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.desktop/javax.swing=ALL-UNNAMED
    --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
    -XX:+IgnoreUnrecognizedVMOptions
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=/home/sergio/.visualvm/2.0.1/var/log/heapdump.hprof
thurka commented 4 years ago

This looks really weird. It looks like ServiceLoader.load() is not able to load JDK classes:

sun.jvmstat.perfdata.monitor.protocol.file.MonitoredHostFileService
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostLocalService

Are you able to reproduce it? Can you run VisualVM with -J-verbose and attach complete output? Maybe this can provide additional info about this issue.

Verdoso commented 4 years ago

Hello there, It's just happening to me right now and i wanted to add a bit more info:

Given all of that, I would bet my € that the issue is the piece:

        for (MonitoredHostService mhs : monitoredHostServiceLoader) {
            if (mhs.getScheme().equals(hostId.getScheme())) {
                mh = mhs.getMonitoredHost(hostId);
            }
        }

when being run concurrently by all the connections trying to get the MonitoredHost and ServiceLoader lazy initialising the iterator multiple times. Race condition there.

I hope it helps! D.

References: Java 11 MonitoredHost - getMonitoredHost method Java 8 MonitoredHost - getMonitoredHost method Java 11 ServiceLoader - iterator() method

Edited: Java 1.4.4 working with Java 11 was not making sense so I tried again and then all of the connections failed.... so confirmation again that Java 11 seems to be the issue.

Verdoso commented 4 years ago

Hi again,

To validate my theory, I just tested a brute force approach and added synchronized to the two methods in org.graalvm.visualvm.jvmstat.application.JvmstatApplicationProvider that call MonitoredHost.getMonitoredHost(...).

With that simple change, I have not been able to get the error to appear again. If I revert the changes, I get the error 99% of the times I try.

Not recommeding at all that solution, as I said: a brute force test, but it seems to be clear that MonitoredHost.getMonitoredHost is not thread safe so access to it should be synchronised in someway. Salute! D.

thurka commented 4 years ago

Thanks a lot for the investigation. So what are the steps to reproduce it? Does it require to have those remote hosts or are you able to reproduce it only with local java applications? Does it happen only when you start VisualVM?

Verdoso commented 4 years ago

I have been able to reproduce it when I use it with Java 11 and more than one remote connection, so I think just local applications will probably not trigger it. The more remote connections you have, the more probable it is to run into the race condition. With local applications and 3 remote hosts, I run into the issue 9/10 of the times.

It happens to me when I start the the application, as it's the time when the MonitoredHost is tried to load. It might seem, from some comments I have seen, that the application might try later to reload the failiing hosts, but I have not experienced it.

In order to reproduce, simply add 3 or more remote hosts (jstatd connections), just to make sure you run into the race condition, and at first you should see all the apps in those hosts. Close VisualVM, reopen the application and you will see that some remote hosts, or the local one, no longer detect any applications. Master right now displays an exception in the GUI, but 2.0.4 just silently displays an error in the logs.

thurka commented 4 years ago

Thanks. I will try to reproduce it. FYI: 2.0.4 (or any other VisualVM release build) displays the error as a small red circle in the down right corner.

thurka commented 4 years ago

It looks like running VisualVM on JDK 8 is a useful workaround until this issue is fixed.

Verdoso commented 4 years ago

Yeah. I was trying to run it with JDK11 to see if I could get the CPU readings to display when monitoring applications with Java 11, but still getting 'Not supported for this JVM.' I then saw that I was missing the apps in some hosts and fell down the rabbit hole :D

thurka commented 4 years ago

I have really hard time to reproduce it. I am not able to reproduce it on macOS and I was able to reproduce it on Linux, but in one of twenty cases. :-(

Verdoso commented 4 years ago

Well, it might be that I have 20-something applications in each of those hosts and that makes it easier to trigger the race condition as it takes longer to create the full tree, but I see it 9/10 times. VisualVM on W10 against hosts running jstatd on Linux., in case that helps.

thurka commented 4 years ago

The bug is causes by missing synchronization in MonitoredHost.getMonitoredHost(), since javadoc for ServiceLoader states that:

Instances of this class are not safe for use by multiple concurrent threads.
Verdoso commented 4 years ago

Exactly. With Java 8, MonitoredHost.getMonitoredHost() is thread safe as it uses class loading and local variables, Java 11's MonitoredHost.getMonitoredHost() became not thread safe due to using a private static ServiceLoader instance.

thurka commented 4 years ago

This regression was introduced by https://bugs.openjdk.java.net/browse/JDK-8048710

thurka commented 4 years ago

This regression is tracked at https://bugs.openjdk.java.net/browse/JDK-8252587

cowwoc commented 2 years ago

@thurka Can you please introduce a workaround for this issue? It forces me to restart visualvm on a regular basis. Maybe you could synchronize access to the non-thread-safe method?

thurka commented 2 years ago

The easiest workaround is to run VisualVM on JDK 8.

cowwoc commented 2 years ago

@thurka Which, I assume, is not possible if I am attaching to JDK 18/19...? Isn't it possible to add a workaround into visualvm?

thurka commented 2 years ago

Your assumption is incorrect. VisualVM runs on JDK 8+ and can monitoring JDKs from JDK 6 up to JDK 18. I am trying to avoid workarounds for bugs in JDK and other external libraries as much as possible.

Verdoso commented 2 years ago

@cowwoc The problem happens due to the version executing VisualVM, so it's just that one that you have to change. As @thurka mentions, for this issue it does not matter the VM that you are monitoring, just the one running the VisualVM process.

OTOH, wasn't this already solved? I'm no longer monitoring that many processes through visual VM but I though it had been fixed and was not happening with the latest version of VisualVM. I might have solved it simply by running in JDK 8 or using the patched version... ¯_(ツ)_/¯

cowwoc commented 2 years ago

Running JDK 8 solved it for me, but it definitely still breaks on newer JDKs.

krallus commented 2 months ago

I am having the same issue when running VisualVM on OpenJDK 21.0.4. Note that this appears to have been addressed in OpenJDK 22+ by this commit, but I have not actually tested it.