Frédéric
Frédéric

Reputation: 583

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

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:

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 !?

Upvotes: 29

Views: 14732

Answers (4)

abbas
abbas

Reputation: 7099

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

Upvotes: 1

Rasika Perera Govinnage
Rasika Perera Govinnage

Reputation: 2254

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)

Upvotes: 47

Antoine Martin
Antoine Martin

Reputation: 1953

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

Upvotes: 6

Klara
Klara

Reputation: 3015

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

Upvotes: 26

Related Questions