Skip to main content
BKBK
Community Expert
Community Expert
December 20, 2017
Answered

coldfusion.runtime.CustomException: Could not initialize class coldfusion.runtime.SessionTracker

  • December 20, 2017
  • 1 reply
  • 4808 views

Do you have any ideas about fixing the coldfusion.runtime.SessionTracker exception? Have you encountered it before? We have, unfortunately.

Our system consists of ColdFusion 11 Update 13 and IIS.

"Error","ajp-bio-8012-exec-4","12/15/17","06:45:30","educationLive","Could not initialize class coldfusion.runtime.SessionTracker The specific sequence of files included or processed is: E:\wwwroot\www_education_nl\htdocs\education\Facade.cfc, line: 493 "

coldfusion.runtime.CustomException: Could not initialize class coldfusion.runtime.SessionTracker

at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:142)

at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:3000)

at cfApplication2ecfc1126640006$funcONERROR.runFunction(E:\wwwroot\www_education_nl\htdocs\Application.cfc:493)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402)

at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108)

at coldfusion.runtime.AppEventInvoker.onError(AppEventInvoker.java:491)

at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:552)

at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42)

at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)

at coldfusion.filter.PathFilter.invoke(PathFilter.java:153)

at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)

at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)

at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)

at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)

at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)

at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)

at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:156)

at coldfusion.xml.rpc.CFCServlet.doPost(CFCServlet.java:348)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)

at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134)

at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:763)

at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:351)

at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:214)

at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:800)

at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)

at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71)

at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54)

at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:41)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:218)

at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:333)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:466)

at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:748)

    This topic has been closed for replies.
    Correct answer BKBK

    ColdFusion Enterprise of course has a history of integrating clustering. This goes back to tools like ClusterCATS. I am therefore presuming that clustering remains a practical solution for load-balancing and availability.

    https://forums.adobe.com/people/Dave+Watts  wrote

    The onRequest method in Application.cfc is kind of odd, in that it effectively replaces the request itself with the output of the function call, unlike onRequestStart and onRequestEnd which simply affect the current request. The onCFCRequest method seems similar in that way, and maybe that is interfering with the normal session tracking functionality regardless of whatever code you put in the method.

    You echo a thought I had. I am looking into the session idea some more.


    coldfusion.runtime.CustomException: Could not initialize class coldfusion.runtime.SessionTracker

    I have found the cause of this rare exception. The exception indicates that the instance has had a bad start. It is analogous to a sprinter experiencing a false start at the blocks. The consequences persist throught the race.

    Thus, ColdFusion continues to log the exception (in coldfusion-out.log) every other minute, until the instance is stopped or restarted.

    The exception usually occurs just after onServerStart.

    We also discovered that it is related to the following ColdFusion error (see, for example, coldfusion-error.log):

    "The Monitoring service is not available. This exception is usually caused by service startup failure. Check your server configuration."

    ...

    Jan 30, 2018 8:17:28 AM org.apache.catalina.core.StandardWrapperValve invoke

    SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [] threw exception [ROOT CAUSE:

    coldfusion.server.ServiceFactory$ServiceNotAvailableException: The Monitoring service is not available.

    at coldfusion.server.ServiceFactory.getMonitoringService(ServiceFactory.java:223)

    at coldfusion.CfmServlet.service(CfmServlet.java:199)

    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)

    ...

    ] with root cause

    javax.servlet.ServletException: ROOT CAUSE:

    coldfusion.server.ServiceFactory$ServiceNotAvailableException: The Monitoring service is not available.

    at coldfusion.server.ServiceFactory.getMonitoringService(ServiceFactory.java:223)

    at coldfusion.CfmServlet.service(CfmServlet.java:199)

    This, too, is logged continually.

    Together, these errors eventually lead to a rise in CPU use by the ColdFusion instance. The end result is unstable behaviour by the instance and 100% CPU use, requiring a restart.

    In short, the cause is a false start of the instance, the solution a restart.

    1 reply

    WolfShade
    Legend
    December 20, 2017

    Just out of curiosity, what is on line 493 of Facade.cfc?  Are you trying to set a session variable?

    I've not seen this error message, before.  smh.. I'll Google around a bit..

    V/r,

    ^ _ ^

    BKBK
    Community Expert
    BKBKCommunity ExpertAuthor
    Community Expert
    December 20, 2017

    Thanks, @WolfShade.

    Line 493 is not in the Facade.cfc, but in Application.cfc. We get the same line number with every CFC for which the error occurs. And there are plenty.

    Line 493 is simply a throw in onError in Application.cfc:

    public void function onError(required Any Exception, String EventName="") output="false"

    {

    /* some unrelated code */

    /* Line 493 */ throw(message="#Exception.message#", detail="#Exception.detail#", extendedinfo="#Exception.extendedInfo#", errorcode="#Exception.errorCode#");

    }

    This implies that when ColdFusion processed the CFCs, it "Could not initialize class coldfusion.runtime.SessionTracker".

    WolfShade
    Legend
    December 20, 2017

    Are you using CFTRY/CFCATCH around any of the functions in the CFC?

    V/r,

    ^ _ ^