Compile errors in 5.3.8.189

Since upgrading one of our servers to 5.3.8.189, every day or two we see a surge of Compile errors in our Application log. The error messages come thick and fast for a few minutes and then taper off over an hour or two. Most recently we were using the 5.3.8.167 RC and didn’t see these errors.

The error messages are similar to:

Class [surfschool.admin.customer_cfm$cf$3cd] is invalid or doesn't exist;Class [surfschool.admin.customer_cfm$cf$3cd] is invalid or doesn't exist

The stack trace is similar to:

java.lang.ClassNotFoundException: Class [surfschool.admin.customer_cfm$cf$3cd] is invalid or doesn't exist
at lucee.commons.lang.PhysicalClassLoader.findClass(PhysicalClassLoader.java:161)
at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:142)
at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:125)
at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:119)
at lucee.runtime.MappingImpl.getPhysicalClass(MappingImpl.java:259)
at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:354)
at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:237)
at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:1014)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1026)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:923)
at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:904)
at surfschool.admin.application_cfc$cf$28i.udfCall(/surfschool/admin/Application.cfc:155)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:684)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:572)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:1911)
at lucee.runtime.listener.ModernAppListener.call(ModernAppListener.java:437)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:216)
at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2457)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2447)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2418)
at lucee.runtime.engine.Request.exe(Request.java:44)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1179)
at lucee.runtime.engine.CFMLEngine...

Any ideas what that might be about? Anything I should try before going back to another version?

Thanks… Simon

OS: Windows Server 2019
Java Version: OpenJDK 11.0.7
Tomcat Version: 9.0.35
Lucee Version: 5.3.8.189

Hi Simon,

just what I can see from the Stack Trace, it looks to me like Lucee can’t see the file at the given physical location at the given moment. Is it possible that these .cfm files are located at some kind of mapped network drive or similar? If you see it happening randomly, I’d bet the drive you are having those files is “randomly” having access problems (network, latency or whatever).

I think it’s caused by LDEV-2904 - also count update for max size of a classloader · lucee/Lucee@d1ec939 · GitHub
and [LDEV-2904] - Lucee

can you file a new bug?

New bug filed: [LDEV-3622] - Lucee

@Simon_Goldschmidt could you post the complete stacktrace, i’m looking for a “caused by”

Hi @micstriit, unfortunately we were logging to a datasource and the stacktraces were trimmed before the “Caused by:” line. We haven’t run into this error on any of our servers apart from the one Production server we upgraded to 5.3.8.189.
Simon

I have hit this today. I was creating tons of temp files to include to test the page source logic. I noticed on subsequent hits to my test page I would get all these errors (one for each file) in the logs even though ny web page didn’t error.

It’s also worth noting the file in the caused by was tmp1898_cfm$cf$4k9.class but my cfclasses folder only has tmp1898_cfm$cf.class.

"ERROR","XNIO-1 task-1","09/14/2021","16:20:16","compile","Class [tests.tmp1898_cfm$cf$4k9] is invalid or doesn't exist;Class [tests.tmp1898_cfm$cf$4k9] is invalid or doesn't exist;java.lang.ClassNotFoundException: Class [tests.tmp1898_cfm$cf$4k9] is invalid or doesn't exist
	at lucee.commons.lang.PhysicalClassLoader.findClass(PhysicalClassLoader.java:161)
	at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:142)
	at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:125)
	at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:119)
	at lucee.runtime.MappingImpl.getPhysicalClass(MappingImpl.java:259)
	at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:358)
	at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:237)
	at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:1024)
	at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:995)
	at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:926)
	at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:907)
	at tests.runner_cfm$cf.call(/tests/runner.cfm:5)
	at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1003)
	at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:926)
	at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:217)
	at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44)
	at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2460)
	at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2450)
	at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2421)
	at lucee.runtime.engine.Request.exe(Request.java:45)
	at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1179)
	at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1125)
	at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
	at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
	at org.cfmlprojects.regexpathinfofilter.RegexPathInfoFilter.doFilter(RegexPathInfoFilter.java:47)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at jdk.internal.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134)
	at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:772)
	at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:344)
	at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:207)
	at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:809)
	at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
	at jdk.internal.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71)
	at jdk.internal.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54)
	at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:42)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java)
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at runwar.Server$1.handleRequest(Server.java:510)
	at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:280)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:79)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:260)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449)
	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.nio.file.NoSuchFileException: D:\.Command Box\server\943E9BE24944D61EDB19918EB129756D-globber\lucee-5.3.8.201\WEB-INF\lucee-web\cfclasses\CFD__docs_GitHub_globber2508\tests\tmp1898_cfm$cf$4k9.class
	at java.base/sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
	at java.base/java.nio.file.Files.newByteChannel(Unknown Source)
	at java.base/java.nio.file.Files.newByteChannel(Unknown Source)
	at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(Unknown Source)
	at java.base/java.nio.file.Files.newInputStream(Unknown Source)
	at lucee.commons.io.res.type.file.FileResource.getInputStream(FileResource.java:243)
	at lucee.commons.io.IOUtil.copy(IOUtil.java:190)
	at lucee.commons.lang.PhysicalClassLoader.findClass(PhysicalClassLoader.java:157)
	... 82 more
"