oracle / visualvm

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

Not supported for this JVM. #593

Open blankhang opened 1 month ago

blankhang commented 1 month ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. righ-click Remote
  2. click add remote host
  3. input my hostname
  4. click ok
  5. righ-click at my host
  6. click add jmx connection
  7. input my jvm jmx port
  8. click do not requeire SSL connection
  9. click OK
  10. and then it's showing that Not supported for this JVM.

Expected behavior

my mac's java version blank@192 bin % java -version

openjdk version "21.0.3" 2024-04-16 LTS OpenJDK Runtime Environment Corretto-21.0.3.9.1 (build 21.0.3+9-LTS) OpenJDK 64-Bit Server VM Corretto-21.0.3.9.1 (build 21.0.3+9-LTS, mixed mode, sharing)

my jvm runs inside docker with java version

root@:/app/api# docker exec -it api-1 bash root@2f114fa85a9c:/# java -version openjdk version "21.0.2" 2024-01-16 OpenJDK Runtime Environment (build 21.0.2+13-Ubuntu-122.04.1) OpenJDK 64-Bit Server VM (build 21.0.2+13-Ubuntu-122.04.1, mixed mode, sharing)

VisualVM log

-------------------------------------------------------------------------------
>Log Session: Tuesday, July 30, 2024, 9:49:18 AM China Standard Time
>System Info: 
  Product Version         = VisualVM 2.1.9
  Operating System        = Mac OS X version 14.5 running on aarch64
  Java; VM; Vendor        = 21.0.3; Java HotSpot(TM) 64-Bit Server VM 21.0.3+7-LTS-jvmci-23.1-b37; Oracle Corporation
  Runtime                 = Java(TM) SE Runtime Environment 21.0.3+7-LTS-jvmci-23.1-b37
  Java Home               = /Library/Java/JavaVirtualMachines/graalvm-jdk-21.0.3+7.1/Contents/Home
  System Locale; Encoding = zh_CN_#Hans (visualvm); UTF-8
  Home Directory          = /Users/blank
  Current Directory       = /
  User Directory          = /Users/blank/Library/Application Support/VisualVM/2.1.9
  Cache Directory         = /Users/blank/Library/Caches/VisualVM/2.1.9
  Installation            = /Applications/VisualVM.app/Contents/Resources/visualvm/visualvm
                            /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/asm-commons-9.5.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/asm-9.5.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/org-netbeans-libs-asm.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/org-openide-filesystems.jar:/Applications/VisualVM.app/Contents/Resources/visualvm/platform/core/asm-tree-9.5.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/org-graalvm-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.55 20231030-ba85468772]
    org.openide.util [9.29 20231030-ba85468772]
    org.openide.util.ui [9.30 20231030-ba85468772]
    org.openide.modules [7.69 20231030-ba85468772]
    org.netbeans.api.annotations.common/1 [1.49 20231030-ba85468772]
    org.openide.filesystems [9.34 20231030-ba85468772]
    org.openide.awt [7.89 20231030-ba85468772]
    org.netbeans.api.progress/1 [1.69 20231030-ba85468772]
    org.netbeans.api.progress.nb [1.69 20231030-ba85468772]
    org.openide.dialogs [7.67 20231030-ba85468772]
    org.openide.nodes [7.66 20231030-ba85468772]
    org.openide.windows [6.98 20231030-ba85468772]
    org.netbeans.modules.editor.mimelookup/1 [1.61 20231030-ba85468772]
    org.openide.text [6.89 20231030-ba85468772]
    org.netbeans.api.scripting [1.18 20231030-ba85468772]
    org.netbeans.swing.tabcontrol [1.78 20231030-ba85468772]
    org.netbeans.swing.outline [1.55 20231030-ba85468772]
    org.openide.explorer [6.83 20231030-ba85468772]
    org.openide.actions [6.60 20231030-ba85468772]
    org.netbeans.modules.queries/1 [1.64 20231030-ba85468772]
    org.netbeans.api.templates [1.29 20231030-ba85468772]
    org.openide.filesystems.nb [9.31 20231030-ba85468772]
    org.openide.loaders [7.91 20231030-ba85468772]
    org.netbeans.api.intent [1.23 20231030-ba85468772]
    org.netbeans.api.io [1.24 20231030-ba85468772]
    org.openide.io [1.70 20231030-ba85468772]
    org.netbeans.swing.plaf [1.63 20231030-ba85468772]
    org.netbeans.modules.keyring [1.45 20231030-ba85468772]
    org.netbeans.libs.asm [5.24 20231030-ba85468772]
    org.netbeans.bootstrap/1 [2.100 20231030-ba85468772]
    org.netbeans.core.startup.base [1.83.0.1 1 20231030-ba85468772]
    org.netbeans.core.startup/1 [1.84.0.1 20231030-ba85468772]
    org.netbeans.modules.sampler [1.35 20231030-ba85468772]
    org.netbeans.core/2 [3.72 20231030-ba85468772]
    org.netbeans.spi.quicksearch [1.48 20231030-ba85468772]
    org.netbeans.modules.options.api/1 [1.66 20231030-ba85468772]
    org.netbeans.libs.flatlaf/1 [1.15 3.1 20231030-ba85468772]
    org.netbeans.swing.laf.flatlaf [1.14 20231030-ba85468772]
    org.netbeans.modules.settings/1 [1.70 20231030-ba85468772]
    org.netbeans.modules.sendopts/2 [2.57 20231030-ba85468772]
    org.netbeans.modules.progress.ui [1.54 20231030-ba85468772]
    org.netbeans.modules.options.keymap [1.58 20231030-ba85468772]
    org.netbeans.modules.masterfs/2 [2.76.0.2 2 20231030-ba85468772]
    org.netbeans.modules.masterfs.ui [2.24.0.2 20231030-ba85468772]
    org.netbeans.modules.masterfs.nio2 [1.36 20231030-ba85468772]
    org.netbeans.libs.jna/2 [2.16 20231030-ba85468772]
    org.netbeans.modules.masterfs.macosx [1.34 20231030-ba85468772]
    org.netbeans.modules.keyring.fallback [1.29 20231030-ba85468772]
    org.netbeans.modules.keyring.impl [1.45 20231030-ba85468772]
    org.netbeans.modules.editor.mimelookup.impl/1 [1.53 20231030-ba85468772]
    org.netbeans.modules.autoupdate.services [1.77 20231030-ba85468772]
    org.netbeans.modules.autoupdate.ui [1.67 20231030-ba85468772]
    org.netbeans.modules.autoupdate.cli [1.35 20231030-ba85468772]
    org.netbeans.core.windows/2 [2.106 20231030-ba85468772]
    org.netbeans.modules.applemenu/1 [1.58 20231030-ba85468772]
    org.netbeans.libs.jna.platform/2 [2.16 20231030-ba85468772]
    org.netbeans.core.ui/1 [1.66 20231030-ba85468772]
    org.netbeans.core.network [1.33 20231030-ba85468772]
    org.netbeans.core.nativeaccess/1 [1.52 20231030-ba85468772]
    org.netbeans.core.multitabs/1 [1.33.0.1 1 20231030-ba85468772]
    org.netbeans.core.io.ui/1 [1.51 20231030-ba85468772]
    org.graalvm.visualvm.lib.jfluid/2 [2.17 240708]
    org.graalvm.visualvm.lib.charts/2 [2.1 240708]
    org.graalvm.visualvm.lib.common/2 [2.10 240708]
    org.graalvm.visualvm.lib.profiler.api/2 [2.2 240708]
    org.graalvm.visualvm.lib.ui/2 [2.4 240708]
    org.graalvm.visualvm.uisupport/2 [2.1 240708]
    org.graalvm.visualvm.core/2 [2.4 240708]
    org.graalvm.visualvm.host/2 [2.1 240708]
    org.graalvm.visualvm.application/2 [2.4 240708]
    org.graalvm.visualvm.tools/2 [2.3 240708]
    org.graalvm.visualvm.coredump/2 [2.1 240708]
    org.graalvm.visualvm.threaddump/2 [2.1 240708]
    org.graalvm.visualvm.lib.profiler.utilities/2 [2.0 240708]
    org.graalvm.visualvm.lib.profiler.attach/2 [2.2 240708]
    org.graalvm.visualvm.lib.profiler/2 [2.4 240708]
    org.graalvm.visualvm.lib.profiler.snaptracer/2 [2.0 240708]
    org.graalvm.visualvm.profiling/2 [2.3 240708]
    org.graalvm.visualvm.lib.jfluid.heap [1.3 240708]
    org.graalvm.visualvm.lib.profiler.oql/2 [2.0 240708]
    org.graalvm.visualvm.lib.profiler.heapwalker/2 [2.2 240708]
    org.graalvm.visualvm.heapviewer/2 [2.8 240708]
    org.graalvm.visualvm.heapdump/2 [2.1 240708]
    org.graalvm.visualvm.sampler.truffle/2 [2.1 240708]
    org.graalvm.visualvm.sampler/2 [2.2 240708]
    org.graalvm.visualvm.sa/2 [2.0 240708]
    org.graalvm.visualvm.modules.startup/2 [2.1 240708]
    org.graalvm.visualvm.profiler/2 [2.1 240708]
    org.graalvm.visualvm.pluginimporter [1.0 240708]
    org.graalvm.visualvm.modules.nashorn.jdk15 [1.1 240708]
    org.graalvm.visualvm.modules.appui/2 [2.1 240708]
    org.graalvm.visualvm.jvmstat/2 [2.0 240708]
    org.graalvm.visualvm.jvm/2 [2.0 240708]
    org.graalvm.visualvm.jmx/2 [2.2 240708]
    org.graalvm.visualvm.charts/2 [2.1 240708]
    org.graalvm.visualvm.jfr/2 [2.3 240708]
    org.graalvm.visualvm.jfr.jdk11/2 [2.2 240708]
    org.graalvm.visualvm.jfr.generic/2 [2.5 240708]
    org.graalvm.visualvm.host.views/2 [2.0 240708]
    org.graalvm.visualvm.host.remote/2 [2.0 240708]
    org.graalvm.visualvm.heapviewer.truffle/2 [2.1 240708]
    org.graalvm.visualvm.heapviewer.console/2 [2.0 240708]
    org.graalvm.visualvm.application.views/2 [2.1 240708]
    org.graalvm.visualvm.graalvm/2 [2.0 240708]
    org.graalvm.visualvm.gotosource/2 [2.0 240708]
    org.graalvm.visualvm.attach/2 [2.0 240708]
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
Diagnostic information
Input arguments:
    -XX:ThreadPriorityPolicy=1
    -XX:+UnlockExperimentalVMOptions
    -XX:+EnableJVMCIProduct
    -XX:-UnlockExperimentalVMOptions
    -Djdk.home=/Library/Java/JavaVirtualMachines/graalvm-jdk-21.0.3+7.1/Contents/Home
    -Dnetbeans.default_userdir_root=/Users/blank/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
    -Dnetbeans.importclass=org.graalvm.visualvm.modules.startup.ImportSettings
    -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
    -Djdk.attach.allowAttachSelf=true
    -Dorg.openide.util.ImageUtilities.level=950
    --add-exports=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED
    --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.desktop/sun.awt.X11=ALL-UNNAMED
    --add-opens=java.desktop/javax.swing.plaf.synth=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/blank/Library/Application Support/VisualVM/2.1.9/var/log/heapdump.hprof
    -Djava.security.manager=allow
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=8 Total time spent=0s)
Garbage collector: G1 Concurrent GC (Collections=8 Total time spent=0s)
Garbage collector: G1 Old Generation (Collections=0 Total time spent=0s)
Classes: loaded=6545 total loaded=6545 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 103,079,215,104
INFO [null]: Total physical memory 103,079,215,104
WARNING [org.graalvm.visualvm.core.ui.DataSourceWindowManager]: Tried to select not opened view org.graalvm.visualvm.sampler.ApplicationSamplerView@739c4af7
SEVERE [org.graalvm.visualvm.core.ui.DataSourceWindowManager]: Failed to initialize view org.graalvm.visualvm.host.views.overview.HostOverviewView@445ad5d9
java.io.IOException: The client has been closed.
    at java.management/com.sun.jmx.remote.internal.ClientCommunicatorAdmin.restart(ClientCommunicatorAdmin.java:99)
    at java.management/com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException(ClientCommunicatorAdmin.java:59)
    at java.management.rmi/javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.gotIOException(RMIConnector.java:1496)
    at java.management.rmi/javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:907)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.graalvm.visualvm.jmx.impl.JmxModelImpl$CheckerInvocationHandler.invoke(JmxModelImpl.java:400)
    at jdk.proxy10/jdk.proxy10.$Proxy17.getAttribute(Unknown Source)
    at java.management/com.sun.jmx.mbeanserver.MXBeanProxy$GetHandler.invoke(MXBeanProxy.java:122)
    at java.management/com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)
    at java.management/javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)
Caused: java.lang.reflect.UndeclaredThrowableException
    at jdk.proxy1/jdk.proxy1.$Proxy21.getAvailableProcessors(Unknown Source)
    at org.graalvm.visualvm.host.remote.model.RemoteHostOverview.getAvailableProcessors(RemoteHostOverview.java:106)
    at org.graalvm.visualvm.host.views.overview.HostOverviewView$MasterViewSupport.getGeneralInfo(HostOverviewView.java:162)
    at org.graalvm.visualvm.host.views.overview.HostOverviewView$MasterViewSupport.initComponents(HostOverviewView.java:134)
    at org.graalvm.visualvm.host.views.overview.HostOverviewView$MasterViewSupport.<init>(HostOverviewView.java:121)
    at org.graalvm.visualvm.host.views.overview.HostOverviewView.createComponent(HostOverviewView.java:85)
    at org.graalvm.visualvm.core.ui.DataSourceView.getView(DataSourceView.java:194)
    at org.graalvm.visualvm.core.ui.DataSourceWindowTabbedPane$ViewContainer.setView(DataSourceWindowTabbedPane.java:231)
    at org.graalvm.visualvm.core.ui.DataSourceWindowTabbedPane$ViewContainer.<init>(DataSourceWindowTabbedPane.java:210)
    at org.graalvm.visualvm.core.ui.DataSourceWindow.addView(DataSourceWindow.java:80)
[catch] at org.graalvm.visualvm.core.ui.DataSourceWindowManager$8.run(DataSourceWindowManager.java:352)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    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

image

Desktop (please complete the following information):

Additional context here was my docker java ENTRYPOINT looks like ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Djava.rmi.server.hostname=${params.server}","-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.authenticate=false" ,"-Dcom.sun.management.jmxremote.ssl=false","-Dcom.sun.management.jmxremote.port=${SERVER_API_JMX_PORT}","-Dcom.sun.management.jmxremote.rmi.port=${SERVER_API_JMX_PORT}", "-Djava.awt.headless=true","-Djava.awt.headless=true","-Dspring.profiles.active=wechat,${params.profile}", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${SERVER_API_REMOTE_DEBUG_PORT}","-jar","/app.jar"]'

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    21.0.3 (arm64) "Oracle Corporation" - "Oracle GraalVM 21.0.3+7.1" /Library/Java/JavaVirtualMachines/graalvm-jdk-21.0.3+7.1/Contents/Home
    21.0.3 (arm64) "Amazon.com Inc." - "Amazon Corretto 21" /Library/Java/JavaVirtualMachines/amazon-corretto-21.jdk/Contents/Home
    1.8.0_412 (arm64) "Amazon" - "Amazon Corretto 8" /Users/blank/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home
thurka commented 1 month ago

I am not sure what is going on. It looks like some problems with remote JMX connection. Please try to run VisualVM from connadline and add the following options:

-J-Dorg.graalvm.visualvm.jmx.level=100 -J-Dorg.graalvm.visualvm.jvm.level=100

Try to connect to your remote application and attach the VisualVM log file.