Search code examples
jmc

Java Profiler JMC UI Dashboard isn't displayed on Mac OS


Mac configuration

macOS HighSierra 10.13.4

Java version

1.8.0_171, x86_64: "Java SE 8"

I'm trying to launch jmc, but only 3 dots in UI are displayed. The window can't be resized. I launched the program with logs ./jmc -debug -consoleLog

    Start VM: -XX:+UseG1GC
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
-XX:FlightRecorderOptions=defaultrecording=true
-Djava.net.preferIPv4Stack=true
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Djava.class.path=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app/Contents/MacOS//../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
-os macosx
-ws cocoa
-arch x86_64
-showsplash
-launcher /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app/Contents/MacOS/jmc
-name Jmc
--launcher.library /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app/Contents/MacOS//../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20141007-2033/eclipse_1601.so
-startup /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app/Contents/MacOS//../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.appendVmargs
-debug
-consoleLog
-vm /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin/../lib/server/libjvm.dylib
-vmargs
-XX:+UseG1GC
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
-XX:FlightRecorderOptions=defaultrecording=true
-Djava.net.preferIPv4Stack=true
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
...
file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/configuration/
Framework located:
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/plugins/org.eclipse.osgi_3.10.1.v20140909-1633.jar
Loading extension: reference:file:org.eclipse.osgi.compatibility.state_1.0.1.v20140709-1414.jar
    eclipse.properties not found
Loading extension: reference:file:org.eclipse.osgi.nl_ja_4.4.0.v20140623020002.jar
    eclipse.properties not found
Loading extension: reference:file:org.eclipse.osgi.nl_zh_4.4.0.v20140623020002.jar
    eclipse.properties not found
Framework classpath:
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/plugins/org.eclipse.osgi_3.10.1.v20140909-1633.jar
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/plugins/
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/plugins/org.eclipse.osgi.compatibility.state_1.0.1.v20140709-1414.jar
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/plugins/org.eclipse.osgi.nl_ja_4.4.0.v20140623020002.jar
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/plugins/org.eclipse.osgi.nl_zh_4.4.0.v20140623020002.jar
Splash location:
    /Users/***/.eclipse/com.oracle.jmc_5.5.2_166337222_macosx_cocoa_x86_64/configuration/org.eclipse.equinox.launcher/com.jrockit.mc.rcp.application_5.5.2.174165/splash.bmp
Debug options:
    file:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app/Contents/MacOS/.options not found
Time to load bundles: 5
Nov 20, 2018 1:08:03 PM com.jrockit.mc.rcp.application.ApplicationPlugin initializeDebug
INFO: JMC debug mode enabled
Nov 20, 2018 1:08:03 PM com.jrockit.mc.rcp.logging.LoggingToolkit initializeLogging
INFO: Debug settings enabled - loaded debug settings for the logger from logging_debug.properties.
Nov 20, 2018 1:08:03 PM com.jrockit.mc.rcp.logging.LoggingToolkit initializeLogging
FINE: Logger initialized
Starting application: 1863
Application Started: 4501

So no errors in the logs, but there is no possibility to work with UI. How it can be resolved?


Solution

  • The JMC released with most JDK8 update releases is JMC 5.5.0, a fairly old release build on Eclipse 4.4.0 which has some bugs on macOS that could be causing this. It's possible that an older release of JDK8 (<151) will work fine, but I would personally recommend either using JMC 6.0.0 which was released with JDK 9 or JMC 7.0.0, which is the open source version.

    EDIT: I just saw that this question duplicates this one and there seems to be a workaround.