A few days ago I got an error with my ColdFusion 2018 server which I had not seen in many years:
I had seen this error when running ColdFusion 9 many years ago but not for some time. I could not figure out what I had broken. After some Googling, it seemed to be that I could have done something when I had installed ColdFusion 2018 Update 4. I could only find old articles on the web like: Why is ColdFusion throwing a 500 Internal Server error after APSB14-23 hotfix installation? but nothing specific, so I tried the following:
After following the updater I checked the
I no longer had the local Redis server running (and had uninstalled it), but this was not just affecting sessions, it was completely breaking the CF admin UI preventing me from disabling the Redis session storage. After some help, I found that I could remove the Redis session manager by editing the I changed the var from:
to:
Now the ColdFusion 2018 server starts ?
The Runtime service is not available – ColdFusion 2018
coldfusion.server.ServiceFactory$ServiceNotAvailableException: The Runtime service is not available. at coldfusion.server.ServiceFactory.getRuntimeService(ServiceFactory.java:121) at coldfusion.graph.InteractiveGraphingServiceImpl.load(InteractiveGraphingServiceImpl.java:445) at coldfusion.graph.InteractiveGraphingServiceImpl.start(InteractiveGraphingServiceImpl.java:425) at coldfusion.server.CFService.setupGraphing(CFService.java:402) at coldfusion.server.CFService.start(CFService.java:688) at coldfusion.server.j2ee.CFStartUpServlet.startCFService(CFStartUpServlet.java:567) at coldfusion.server.j2ee.CFStartUpServlet.init(CFStartUpServlet.java:510) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at coldfusion.bootstrap.ClassloaderHelper.initServletClass(ClassloaderHelper.java:121) at coldfusion.bootstrap.BootstrapServlet.init(BootstrapServlet.java:111) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4886) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at com.adobe.coldfusion.launcher.Launcher.run(Launcher.java:957) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at com.adobe.coldfusion.bootstrap.Bootstrap.init(Bootstrap.java:100) at com.adobe.coldfusion.bootstrap.Bootstrap.main(Bootstrap.java:185)
cd /opt/coldfusion2018/cfusion/hf-updates/
../../jre/bin/java -jar hotfix-004-314546.jar
update.log
which lives in the logs directory. There didn’t seem to be any issues with the update so I tried to start the CF servers again. It did not work. I was presented with lots of exceptions like above and the server didn’t function. I was unable to access the CF admin UI but the logs didn’t tell me what could be wrong. I was very close to reinstalling CF 2018. After some investigation and lots of frustration, I remembered what I had been investigating when I last ran my CF 2018 server. It was the Redis session storage with CF 2018. Specifically related to Performance issue with Redis session management on Adobe ColdFusion servers with FusionReactor or Adobe Performance Monitoring Toolset (PMT). I had configured the session manager as shown below:lib/neo-runtime.xml
file.<var name='sessionStorage'><string>redis</string></var>
<var name='sessionStorage'><string>memory</string></var>
The Runtime service is not available – ColdFusion 2018
Tags: ColdFusion, error, fix