Search code examples
javajvmosx-yosemitewebstormosx-elcapitan

WebStorm 11 fresh install not starting in Mac OSX


This happened to me in fresh installs both in El Capitan and Yosemite. WebStorm 11.0.3.

When trying to start WebStorm from whatever source (Finder, Spotlight etc.) it seems like it does nothing at all. No visible errors, nothing at all.

So I tried to start it again with OSX's Console utility opened and I caught these:

08/02/16 12:57:29,912 webstorm[99959]: Cannot load JVM bundle: Error Domain=NSCocoaErrorDomain Code=3587 "The bundle “OpenJDK 8” couldn’t be loaded because it is damaged or missing necessary resources." (dlopen_preflight(/Applications/WebStorm.app/Contents/jre/jdk/Contents/MacOS/libjli.dylib): no suitable image found.  Did find:
    /Applications/WebStorm.app/Contents/jre/jdk/Contents/MacOS/libjli.dylib: file too short) UserInfo=0x610000069a40 {NSLocalizedFailureReason=The bundle is damaged or missing necessary resources., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSFilePath=/Applications/WebStorm.app/Contents/jre/jdk/Contents/MacOS/libjli.dylib, NSDebugDescription=dlopen_preflight(/Applications/WebStorm.app/Contents/jre/jdk/Contents/MacOS/libjli.dylib): no suitable image found.  Did find:
    /Applications/WebStorm.app/Contents/jre/jdk/Contents/MacOS/libjli.dylib: file too short, NSBundlePath=/Applications/WebStorm.app/Contents/jre/jdk, NSLocalizedDescription=The bundle “OpenJDK 8” couldn’t be loaded because it is damaged or missing necessary resources.}

When applying the first step stated in the solution down below, I saw these:

08/02/16 13:01:01,146 webstorm[99970]: Value of WEBSTORM_JDK: (null)
08/02/16 13:01:01,149 webstorm[99970]: fullFileName is: /Applications/WebStorm.app/Contents/bin/webstorm.vmoptions
08/02/16 13:01:01,149 webstorm[99970]: fullFileName exists: /Applications/WebStorm.app/Contents/bin/webstorm.vmoptions
08/02/16 13:01:01,149 webstorm[99970]: Value of WEBSTORM_VM_OPTIONS is (null)
08/02/16 13:01:01,149 webstorm[99970]: Processing VMOptions file at /Applications/WebStorm.app/Contents/bin/webstorm.vmoptions
08/02/16 13:01:01,149 webstorm[99970]: Done
08/02/16 13:01:01,150 webstorm[99970]: JNI_CreateJavaVM (/Applications/WebStorm.app/Contents/jre/jdk) failed: 4294967295

Solution

  • After searching in GitHub, Jetbrain's forums and so on I saw other people with JVM issues but didn't solve entirely my problem.

    For the libjli.dylib issue, I searched for that file in Webstorm.app's contents and saw that it exists in two places, but one of the files (the one that says the file is too short) looks like it's just a redirection to the other file. So I just copied the bigger libjli.dylib and replaced the one being complained about.

    To my knowledge, now there's no redirection and the Console is clear from that error. But Webstorm still wasn't starting, now showing the second error, JNI_CreateJavaVM failed.

    Turns out something's not quite right in Webstorm and the new versions of Java. I happen to be using the Java 1.8.

    What I saw recommended and also worked for me was installing also the Java 1.6 using Brew and telling Webstorm.app to use that version instead. Bear in mind that doing it this way, your system will keep using the updated Java version

    So first installing Java 1.6 in the terminal:

    ~ brew tap caskroom/versions
    [...]
    ~ brew cask install java6
    [...]
    🍺  java6 staged at '/opt/homebrew-cask/Caskroom/java6/1.6.0_65' (64M)
    

    And now telling Webstorm to use 1.6:

    1. Open up Info.plist file from Webstorm.app contents folder.
    2. Change the line below <key>JVMVersion</key> from <string>1.6+,1.7+</string> to <string>1.6</string>
    3. Save and close

    And now it's working!

    If Webstorm.app tries to use a Java version you don't have (or can't be found), you'll see something like this:

    enter image description here

    Again, for me, this was fixed using Brew.