Copy link to clipboard
Copied
Hi All,
Need some help/pointers on what could be wrong here.
ColdFusion Server fails to start, when giving add-exports java.args. The error in the Windows service log is "file not found" (no further details on what file is missing). Since the server fails to start, there is no CF logs to post.
Environment:
ColdFusion 2018
Java 10.0.1
Windows 2016
# Arguments to VM
java.args=-server -Xms1024m -Xmx2048m --add-exports java.instrument/sun.instrument=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-modules=java.xml.ws --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=384m -XX:+UseParallelGC -Xbatch -Djdk.attach.allowAttachSelf=true -Dcoldfusion.home={application.home} -Duser.language=en -Dcoldfusion.rootDir={application.home} -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true -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 -Djava.locale.providers=COMPAT,SPI -Dsun.font.layoutengine=icu -Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib,{application.home}/lib/axis2,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/flex/jars,{application.home}/wwwroot/WEB-INF/cfform/jars,{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,d:/WebProjects/Inetpub/edgev2/edge6i/customtags/java,d:/WebProjects/Inetpub/opentoolsv2/java,d:/WebProjects/Inetpub/merchantproperties,d:/WebProjects/Inetpub/slacustomlib/sla_classes,d:/WebProjects/Inetpub/slacustomlib/sla_customtags,d:/WebProjects/Inetpub/slacustomlib/sla_customtags/cfx_spell,d:/WebProjects/Inetpub/slacustomlib/sla_customtags/cfx_spell/ssce.jar,d:/WebProjects/Inetpub/extlib,d:/WebProjects/Inetpub/slacustomlib/sla_classes/config,d:/WebProjects/Inetpub/slacustomlib/sla_classes/opensamllib,d:/WebProjects/Inetpub/comlibv2/lib
Observations:
-If i don't give the --add-exports param, the Admin server starts up properly.
-Tried the same thing on a Mac running CCF 2018 and java 10.0.2, and everything works even with the --add-exports param
Shyam, what if you return to the beginning and add an equal sign (=):
--add-exports=java.instrument/sun.instrument=ALL-UNNAMED
Copy link to clipboard
Copied
First, good on you for resolving things without logs. You don't say, but did you realize that if you started CF from the command line, within cfusion/bin folder using cfstart, that would have provided on the console the explanation of the problem? If you did know, I saw that for other readers to consider, when CF "won't start" as a service.
As for that add-exports, I will say I don't see it in the jvm.config files of CF 2018 of my various CF2018 installs. That said, mine are all from the original CF2018 installer in July of 2018, not the newer one released in Feb (which added built-in use of Java 11 rather than Java 10).
You say you are using Java 10: I'm curious how you are proving that. Do you mean you see that in the CF Admin "settings summary" page? That's what you should confirm. And is there any possibility that this jvm.config was modified from an import from some other CF instance, whether via the CF CAR file feature (importing admin settings, such as from another machine), or the CF install migration wizard feature (which imports settings from an existing CF instance on the same machine)? There is a log of either operation in the cfusion/logs folder.
For now, though, since removing the args fixed things, it sounds like you're good to go, unless you just now want to "understand" things, and good on you if you keep digging. Let us know what you find.
Copy link to clipboard
Copied
Hi Charlie,
Thanks for the fast reply. You are right, the "add-exports" is a non standard config that I had to add to the java.args, to work around some of the new java modules restriction that are imposed via JPMS (JavaPlatformModuleSystem). But the moment I put those in the jvm.config, the server wont start up! Please note that, the same config work on my mac, running CF2018 and java 10.0.2. So It has to be something to do with the Windows 2016 setup at my Client site.
And yes, I see Java10 in the admin summary page (since the java.home variable in the jvm.config points to the Java10 jre).
I will keep digging
Copy link to clipboard
Copied
You could try to start CF from the command line and see if you get more information from that.
Dave Watts, Eidolon LLC
Copy link to clipboard
Copied
Yhea. Thats what I will do next, when I get a chance.
Thanks
Copy link to clipboard
Copied
Thanks for clarifying that was a java arg you were adding, for your own reasons. So first, I wonder also what would happen if you changed CF to use Java 11 instead. The 10.0.2 that you are on is old and as you may know, Java 10 is no longer supported by Oracle.
BTW, to Dave's last suggestion (to use the command line) and you're saying you'd try it, I'll just note that it was the first thing I suggested. 🙂 I realize that because I tend to share multiple considerations, it's easy for folks to forget (or skim, if not stip) all I may say. We all have our crosses to bear. 🙂
Copy link to clipboard
Copied
Yes Charlie. You had suggested it earlier, but i was just waiting to get my hads on the Env to try those
Copy link to clipboard
Copied
I used the command line to start the CF server and that too didn't give me any error details. The server just fails to start up with 2 empty (0KB) log files coldfusion-out.log & coldfusion-error.log.
More head scratching and digging and I finally found that, when I typed in the the whole --add-exports and --add-opens parameters (with out ever copy pasting even parts of it) the server starts up properly!!! I It so wried! Because I had used used different editors (notepad, word etc) and different sources (email, webEx chat, etc) earlier to copy paste the parameters with out any success.
But anyways, glad that its resolved now. Thanks Guys for all the quick help and pointers.
Copy link to clipboard
Copied
Shyam, what if you return to the beginning and add an equal sign (=):
--add-exports=java.instrument/sun.instrument=ALL-UNNAMED
Copy link to clipboard
Copied
I got the same sort of issue again and adding the "=" fixed it! So may be, it was just not the typing (instead of copy pasting) that saved me last time, It was the "=" sign. I see similar issues discussed here.
Thanks!
Copy link to clipboard
Copied
Yep, that can happen, Shyam. It's easy to end with typographical dashes, especially when copying text from the web, or typing them in some editors. Many WYWIWYG editors will turn a dash into what LOOKS like a dash but it different. Same for quotation marks, as perhaps you have experienced. Sounds like you tried to avoid this.
Oh well, at least you sorted it out, and thanks for sharing. Perhaps others may benefit if they come across this down the road. 🙂