• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

ColdFusion 2016 from jre 8 to JDK-11 fails

Community Beginner ,
Jul 08, 2019 Jul 08, 2019

Copy link to clipboard

Copied

After these steps to upgrade Java, CF services won't restart.

Current version of CF is 2016,0,11,314546  

Downloaded JDK 11.0.3 from Adobe download site, resides at C:\Program Files\Java\jdk-11.0.3  (without source code)

Stopped CF

Updated jvm.config

     #java.home=C:\\Program Files\\Java\\jre1.8.0_211

     java.home=C:\\Program Files\\Java\\jdk-11.0.3

Restart of CF fails.

Revert to JRE 1.8 and restart CF successfully.

No logs. Event log points to third party error and Service Specific Error Code 2.

What am I missing?

Views

945

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Guide , Jul 09, 2019 Jul 09, 2019

Hi,

What if you run CMD prompt as admin then change directory to CF2016\cfusion\bin and start CF via cfstart.bat. That might output if there is a Java syntax error.

Could be Java 11 does not comprehend the Java 8 debug or GC logging settings.

Regards, Carl.

Votes

Translate

Translate
Guide ,
Jul 08, 2019 Jul 08, 2019

Copy link to clipboard

Copied

Hi,

For Java 11 You need to add these to JVM arguments:

--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.util.cldr=ALL-UNNAMED  --add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED

-Djava.locale.providers=COMPAT,SPI

EG:

# Arguments to VM

java.args=-server  -Xms2048m -Xmx2048m --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.util.cldr=ALL-UNNAMED --add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED -XX:MaxMetaspaceSize=640m  -Xbatch -Djava.locale.providers=COMPAT,SPI - etc

HTH, Carl.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 09, 2019 Jul 09, 2019

Copy link to clipboard

Copied

After adding the arguments still not working. Made sure the arguments do not have any extra blanks or carriage returns.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 09, 2019 Jul 09, 2019

Copy link to clipboard

Copied

What is the value of your java.args setting?

Are there any error messages in the logs?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 09, 2019 Jul 09, 2019

Copy link to clipboard

Copied

There is only an entry in the event log that says could not start CF server... non-Microsoft service, refer to service-specific error code 2.

No other log entries in CF found.

Here is the jvm.config:

#
# VM configuration
#
# Where to find JVM, if {java.home}/jre exists then that JVM is used
# if not then it must be the path to the JRE itself

#java.home=C:\\Program Files\\Java\\jre1.8.0_201
#java.home=C:\\Program Files\\Java\\jre1.8.0_211
java.home=C:\\Program Files\\Java\\jdk-11.0.3

#
# If no java.home is specified a VM is located by looking in these places in this
# order:
#
#  1) ../runtime/jre
#  2) registry (windows only)
#  3) JAVA_HOME env var plus jre (ie $JAVA_HOME/jre)
#  4) java.exe in path
#

# Arguments to VM
#Incase of Java 9 or higher add the following arguments to java.args
#--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.util.cldr=ALL-UNNAMED  --add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED -Djava.locale.providers=COMPAT,SPI

java.args=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -server -Xms2048m -Xmx3072m --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.util.cldr=ALL-UNNAMED  --add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED -XX:MaxMetaspaceSize=512m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -verbose:gc -XX:+UseG1GC -Xbatch -Djava.locale.providers=COMPAT,SPI -Dcoldfusion.home={application.home} -Djava.awt.headless=true -Duser.language=en -Dcoldfusion.rootDir={application.home} -Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib,{application.home}/lib/axis2,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/cfform/jars,{application.home}/wwwroot/WEB-INF/flex/jars,{application.home}/lib/oosdk/lib,{application.home}/lib/oosdk/classes -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog -Djava.util.logging.config.file={application.home}/lib/logging.properties -javaagent:C:/FusionReactor/instance/DEV.cfusion.cf2016/fusionreactor.jar=name=DEV.cfusion.cf2016,address=8088 -agentpath:C:/FusionReactor/instance/DEV.cfusion.cf2016/frjvmti_x64.dll

# Comma separated list of shared library path
java.library.path={application.home}/lib,{application.home}/jintegra/bin,{application.home}/jintegra/bin/international,{application.home}/lib/oosdk/classes/win

# Comma separated list of shared library path for non-windows
java.nixlibrary.path={application.home}/lib

java.class.path={application.home}/lib/oosdk/lib,{application.home}/lib/oosdk/classes

Checked also on jetty/logs and found nothing there. Are there any other logs I should be looking for?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 09, 2019 Jul 09, 2019

Copy link to clipboard

Copied

Some suggestions:

  • leave out -verbose:gc
  • delete unnecessary comments

I have compared your version with a working version. See my private message. I shall send you the result when I get your e-mail address.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Jul 09, 2019 Jul 09, 2019

Copy link to clipboard

Copied

Hi,

What if you run CMD prompt as admin then change directory to CF2016\cfusion\bin and start CF via cfstart.bat. That might output if there is a Java syntax error.

Could be Java 11 does not comprehend the Java 8 debug or GC logging settings.

Regards, Carl.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 11, 2019 Jul 11, 2019

Copy link to clipboard

Copied

My jvm.config did have some GC logging settings that are no longer valid in Java 11. Using cfstart.bat was the way to find them.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 10, 2019 Jul 10, 2019

Copy link to clipboard

Copied

Hi baerbelallingham​

Did the version I messaged you work? If so, then please post it here for the benefit of others.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 11, 2019 Jul 11, 2019

Copy link to clipboard

Copied

LATEST

Once the java 11 invalid GC logging settings were removed from your copy it worked.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation