Java Mission Control from JDK 1.8.0_161 frozen upon startup on Mac OS X

Frédéric picture Frédéric · Jan 23, 2018 · Viewed 11.6k times · Source

I'm trying to launch Java Mission Control as provided in the JDK 1.8.0_161 on Mac OS X High Sierra (10.13.2, with Supplemental Update of January 2018) and the JMC application is frozen, i.e. I'm unable to browse in the JVM Browser panel.

As I've other former JDK installed, therefore I've checked JMC with the following versions with success:

  • 1.8.0_121
  • 1.8.0_144
  • 1.8.0_151

So the problem is very specific to the JDK 1.8.0_161.

(To see your JDKs, run the command /usr/libexec/java_home -V)

(To run a former JMC, i.e. /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc)

As a side verification, I've run the JMC of the JDK 1.8.0_161 on Windows 10 with success.

So do you experience the same issue ?

Is there some settings to tweak to have it working ? (E.g. would it be an issue related to Mac OS X Gatekeeper !?)

And how to report it to Oracle properly ... I've searched their bug database without success, and when I try to submit a bug, I cannot figure which would be the right subcategory (c.f. https://bugreport.java.com/submit_intro.do), as JMC is not listed in the TOOLS section ... Any advice !?

Answer

Rasika Perera picture Rasika Perera · Sep 27, 2018

There's a workaround for this, as mentioned by @jwatkins in a comment.

  1. Download the swt cocoa jar from here.
  2. Go to JDKs jmc path (You can find this path by right-clicking on jmc icon in the dock -> Options -> Show in Finder, Then right click on App -> Show Package Contents).

    • For example: cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol
  3. Back up exisiting jar using sudo mv plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../

  4. Copy downloaded zip's swt.jar using sudo cp ~/Downloads/swt.jar plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
  5. Restart jmc

NOTE: Remember! your new copied jar file's name should be exactly as the old one(it uses OSGi bundles.info to load jars)