Installed current 2.0.1 (Build 200326); platform 20191008-unknown-revn on Mac OS X (10.15.4) , x86_64 64bit and clicked button "Heap Dump" on tab "Monitor" for a JMX-connection (service:jmx:rmi://localhost:10032/jndi/rmi://localhost:10031/jmxrmi) results in "Cannot take heap dump for ....". Heap dump for local VMs works.
User directory: /Users/gg/Library/Application Support/VisualVM/2.0.1
Cache directory: /Users/gg/Library/Caches/VisualVM/2.0.1
Using /Applications/VisualVM.app/Contents/MacOS/visualvm -J-Dnetbeans.logger.console=true the following startup message is issued:
INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL
Diagnostic information
Input arguments:
-Djdk.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
-Dnetbeans.default_userdir_root=/Users/gg/Library/Application Support/VisualVM
-Dnetbeans.dirs=/Applications/VisualVM.app/Contents/Resources/visualvm/visualvm:
-Dnetbeans.home=/Applications/VisualVM.app/Contents/Resources/visualvm/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
-Dnetbeans.logger.console=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/Users/gg/Library/Application Support/VisualVM/2.0.1/var/log/heapdump.hprof
Notice that XX:HeapDumpPath does not point to directory but to a filename.
On click of "Heap Dump" I get
Java HotSpot(TM) 64-Bit Server VM warning: GC locker is held; pre-heapdump GC was skipped
INFO [org.graalvm.visualvm.attach.AttachModelImpl]: takeHeapDump
INFO [org.graalvm.visualvm.jmx.impl.JmxSupport]: takeHeapDump
java.io.IOException: No such file or directory
at sun.management.HotSpotDiagnostic.dumpHeap0(Native Method)
at sun.management.HotSpotDiagnostic.dumpHeap(HotSpotDiagnostic.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor275.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
at javax.management.StandardMBean.invoke(StandardMBean.java:405)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[catch] at java.lang.Thread.run(Thread.java:745)
Installed current 2.0.1 (Build 200326); platform 20191008-unknown-revn on Mac OS X (10.15.4) , x86_64 64bit and clicked button "Heap Dump" on tab "Monitor" for a JMX-connection (service:jmx:rmi://localhost:10032/jndi/rmi://localhost:10031/jmxrmi) results in "Cannot take heap dump for ....". Heap dump for local VMs works.
User directory: /Users/gg/Library/Application Support/VisualVM/2.0.1
Cache directory: /Users/gg/Library/Caches/VisualVM/2.0.1
Using /Applications/VisualVM.app/Contents/MacOS/visualvm -J-Dnetbeans.logger.console=true the following startup message is issued:
Notice that XX:HeapDumpPath does not point to directory but to a filename.
On click of "Heap Dump" I get