Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8147586

JDK 1.8 update 66 Mac OS X Native launcher not honouring JVMUserOptions in plist

XMLWordPrintable

    • x86
    • os_x

      FULL PRODUCT VERSION :
      java.runtime.version 1.8.0_66-b17

      ADDITIONAL OS VERSION INFORMATION :
      Mac OS Yosemite 10.10.5
      10.10.5
      Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64

      A DESCRIPTION OF THE PROBLEM :
      The Java Mac OS Launcher is not using the Xmx value specified in:
      /Users/USERNAME/Library/Preferences/Bloom.plist.
      There's no Bloom.plist under /Users/carl/Library/Preferences/

      The application started has the following app id: Bloom
      -Dapp.preferences.id=Bloom
      -Xmx1024m
      -Xms512m
      This was verified using JVisualVM

      Under /Applications/Bloom.app/Contents/Java/Bloom.cfg here are the options:
      [JVMOptions]
      -client
      -Dfile.encoding=UTF-8

      [JVMUserOptions]
      -Xms512m
      -Xmx1024m

      REGRESSION. Last worked in version 8u45

      ADDITIONAL REGRESSION INFORMATION:
      I remember this was working on Mac OS 10.9 with Java 8 Update 40 and Java 8 Update 45.
      I had opened a bug in a version earlier than Java 8 Update 40 which was fixed.
      https://bugs.openjdk.java.net/browse/JDK-8094725
      https://bugs.openjdk.java.net/browse/JDK-8095647

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Create a Mac .app application.
      In the build.xml you need to have the following

      <fx:deploy verbose="true" width="800" height="600" outdir="${distDir}" outfile="Bloom" nativeBundles="all"><!--all -->
      <fx:info title="Bloom" />
      <!-- Mark application as a Swing app mainClass="ca.antaki.www.bloom.app.Bloom" -->
      <fx:application id="Bloom" toolkit="swing" name="Bloom" mainClass="xyz" />
      <fx:platform javafx="8.0+" ><!--basedir="" -->
      <fx:jvmuserarg name="-Xmx" value="1024m" />
      <fx:jvmuserarg name="-Xms" value="512m" />
      <fx:jvmarg value="-client" />
      <fx:jvmarg value="-Dfile.encoding=UTF-8"/>

      </fx:platform>
      <fx:resources>
      <fx:fileset dir="${distDir}" includes="*.jar" excludes="jfxrt.jar" />
      <fx:fileset dir="lib" includes="*.jar" excludes="jfxrt.jar" />
      </fx:resources>
      <fx:callbacks>
      <!-- force use of default splash handler -->
      <fx:callback name="onGetSplash">
      (new dtjava.Callbacks()).onGetSplash
      </fx:callback>
      </fx:callbacks>
      </fx:deploy>

      In the plist file under /Users/USERNAME/Library/Preferences\Bloom.plist, you need to have the following:
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
      <key>JVMUserOptions</key>
      <dict>
      <key>-Xmx</key>
      <string>2048m</string>
      </dict>
      </dict>



      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The expected result is that the Java has the value 2048m as an Xmx.
      ACTUAL -
      The value 1024m that I provided in the ant build.xml file

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      It takes multiple files to be able to generate a Mac Java app.
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      None. If I remove the Xmx from the Bloom.cfg inside the Bloom.app it uses the default algorithm.

      The bug only occurs on Mac 10.10, I don't have other versions of Mac therefore I don't know if they occur or not.
      On Windows the bug doesn't occur.

            alitvinov Anton Litvinov (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: