there is no cache defined with name ['+name+'] errors logged on each request

Description

I have just upgraded to 5.2.1.9 and see the error below in the logs. "actorsasccess.com" is my application name. A new error is logged upon every page request.

lucee.runtime.exp.NativeException: there is no cache defined with name [actorsasccess.com], available caches are [ehcache, cbluceestore, cbsessionstore, ram cache]
at lucee.runtime.exp.NativeException.newInstance(NativeException.java:73)
at lucee.runtime.op.Caster.toPageException(Caster.java:3201)
at lucee.runtime.op.Caster.toPageException(Caster.java:3176)
at lucee.runtime.type.scope.storage.IKHandlerCache.getCache(IKHandlerCache.java:71)
at lucee.runtime.type.scope.storage.IKHandlerCache.store(IKHandlerCache.java:40)
at lucee.runtime.type.scope.storage.IKStorageScopeSupport.store(IKStorageScopeSupport.java:408)
at lucee.runtime.type.scope.storage.IKStorageScopeSupport.touchAfterRequest(IKStorageScopeSupport.java:288)
at lucee.runtime.PageContextImpl.release(PageContextImpl.java:547)
at lucee.runtime.CFMLFactoryImpl.releaseLuceePageContext(CFMLFactoryImpl.java:208)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1046)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:996)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:478)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

I tried using different cache storage with the same results. i.e. ram cache, ehcache, ortus couchbase extension.

Here are my application settings:

THIS.name="actorsasccess.com";
THIS.applicationTimeout = createTimeSpan( 60, 0, 0, 0 );
THIS.sessionManagement = false;
THIS.clientManagement = true;
THIS.clientCluster = true;
THIS.clientTimeout = createTimeSpan( 0, 2, 0, 0 );
THIS.clientStorage = "ram cache";

if I revert back to 5.1.4.19 there are no errors logged.

Environment

windows 2012 R2
Tomcat 8
JVM: Java HotSpot(TM) 64-Bit Server VM (25.102-b14, mixed mode)
Java: version 1.8.0_102, vendor Oracle Corporation

Attachments

4
  • 16 Jun 2017, 07:50 am
  • 16 Jun 2017, 07:47 am
  • 16 Jun 2017, 07:46 am
  • 16 Jun 2017, 07:45 am

Activity

Show:

Marc Archenault 16 June 2017 at 15:55

Are we dealing with 2 separate issues here? One a Lucee problem and the other an Ortus Extension problem?

Igal Sapir 16 June 2017 at 15:18
Edited

CFMLEngineFactory.getInstance().getThreadPageContext();

will only work if the PageContext was registered with the Thread. If it was not, then this method will return `null` which might explain exactly the situation that you are describing.

It would also happen if the PageContext was released from the thread as part of the cleanup at the end of request as Micha mentioned above.

Marc Archenault 16 June 2017 at 13:35

I'm assuming this problem is also what is creating new logged entries on each page request?

Michael Offner 16 June 2017 at 08:07

this is not limited to caches, same happen when using a datasource as a cache.
https://luceeserver.atlassian.net/browse/LDEV-1379#icft=LDEV-1379

Michael Offner 16 June 2017 at 07:51

attached my testcode

Duplicate

Details

Assignee

Reporter

Priority

Fix versions

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Affects versions

Created 14 June 2017 at 14:19
Updated 16 June 2017 at 15:55
Resolved 15 June 2017 at 08:19

Flag notifications