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):
- Download an older JDK version (I took the
Java SE Development Kit 8u91
) - 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.
- 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.
- Download the swt cocoa jar from here.
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
- For example:
Back up exisiting jar using
sudo mv plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../
- 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
- 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)