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

I had the same issue and if you don't mind using eclipse, you can install this plugin: https://marketplace.eclipse.org/content/java-mission-control.

But as Klara's accepted answer I eventually managed to run Java Mission Control (not the very newest version though but it still unblock me without big workarround):

  1. Download an older JDK version (I took the Java SE Development Kit 8u91)
  2. I placed it in my /Library/Java/JavaVirtualMachines repository. I did not change my environment variables as I want to keep using a newer version.
  3. I launched the app placed in jdk1.8.0_91.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app

This is unfortunately a bug that we recently discovered, caused by incompatibilities between old Eclipse/SWT versions and new fixes done in JDK 8u152 (backported from JDK 9).

Workaround is to run older version of JDK 8, or the latest version of JDK 7 (which includes the same version of JMC). JDK 9 also works, with the new JMC 6 included.

(Oracle Internal) bug reference: JMC-5139


This is a known issue according to the official website. And they don't seem to be doing anything about it since Jan 2018.

https://www.oracle.com/technetwork/java/javase/jmc55-release-notes-2412446.html#known-iss

That mentions three solutions but I followed @Rasika Perera answer to fix this issue on JDK 1.8.0_202

Or you can download this latest version of JDK Mission Control which works on MacOS https://www.oracle.com/java/technologies/javase/products-jmc7-downloads.html


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)

Tags:

Java

Macos

Jmc