Java error upgrading to Lucee 6

Updated an app from 5.4 to 6.0.451 beta 2. Now am getting this error. Site will not load.

lucee.runtime.type.dt.DateTimeImpl; local class incompatible: stream classdesc serialVersionUID = 8549854336376075433, local class serialVersionUID = -8364119142383391118

Don’t forget to tell us about your stack!

OS: Windows 11
Java Version: 15.0.1 (Oracle Corporation) 64bit
Tomcat Version: Apache Tomcat/9.0.75
Lucee Version: 6.0.0.451-BETA

@isruther Can you please share the full stacktrace and loader version?

Loader version 6.0.0.451-BETA

string lucee.runtime.exp.NativeException: lucee.runtime.type.dt.DateTimeImpl; local class incompatible: stream classdesc serialVersionUID = 8549854336376075433, local class serialVersionUID = -8364119142383391118 at java.base/java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:724) at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2045) at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1895) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2202) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1712) at java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2540) at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2434) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2235) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1712) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:519) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:477) at lucee.commons.collection.concurrent.ConcurrentHashMapNullSupport.readObject(ConcurrentHashMapNullSupport.java:1336) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1226) at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2401) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2235) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1712) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:519) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:477) at lucee.runtime.type.scope.storage.IKStorageValue.deserialize(IKStorageValue.java:75) at lucee.runtime.type.scope.storage.IKStorageValue.getValue(IKStorageValue.java:63) at lucee.runtime.type.scope.storage.IKStorageScopeSupport.getInstance(IKStorageScopeSupport.java:153) at lucee.runtime.type.scope.ScopeContext.getClientScope(ScopeContext.java:251) at lucee.runtime.type.scope.ScopeContext.getClientScopeEL(ScopeContext.java:285) at lucee.runtime.PageContextImpl.clientScopeEL(PageContextImpl.java:1510) at lucee.runtime.type.scope.UndefinedImpl.reinitialize(UndefinedImpl.java:613) at lucee.runtime.PageContextImpl.setApplicationContext(PageContextImpl.java:3153) at lucee.runtime.listener.ModernAppListener.initApplicationContext(ModernAppListener.java:464) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:120) at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2494) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2480) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2451) at lucee.runtime.engine.Request.exe(Request.java:45) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1218) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1164) 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:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: java.io.InvalidClassException: lucee.runtime.type.dt.DateTimeImpl; local class incompatible: stream classdesc serialVersionUID = 8549854336376075433, local class serialVersionUID = -8364119142383391118 … 64 more

thanks for the stacktrace, now our crime scene investigation can being

problem is to do with an object in your client scope, which is being stored in an external cache I presume? what cache are you using?

lucee.runtime.type.scope.storage.IKStorageScopeSupport.getInstance(IKStorageScopeSupport.java:153) at lucee.runtime.type.scope.ScopeContext.getClientScope(ScopeContext.java:251) at

https://luceeserver.atlassian.net/browse/LDEV-4556

We use memory for session and our oracle db for client.

so if you want to continue testing, just truncate the cf_client_table

That fixed it. But why?

Lucee stores sessions etc as serilaized java objects for speed.

the function signature has changed in lucee 6, causing this error

we have added this to avoid this in the future, but alas it will be a known problem upgrading from older versions

1 Like