简体   繁体   中英

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, ie 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, ie /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 ? (Eg 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 (cf https://bugreport.java.com/submit_intro.do ), as JMC is not listed in the TOOLS section ... Any advice !?

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)

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM