Issue #1894: InvalidClassException

Type: Bug ReoprtVersion: 2.6.5Priority: NormalStatus: ClosedReplies: 3
#1
Caused by: java.io.InvalidClassException: com.objectdb.o.VAL; local class incompatible: stream classdesc serialVersionUID = 3937626490472381156, local class serialVersionUID = 7665785024158016670
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at com.objectdb.o.BYR.Y(BYR.java:784)
... 45 more
Caused by: [ObjectDB 2.6.5_02] Unexpected exception (Error 990)
  Generated by Java HotSpot(TM) 64-Bit Server VM 1.8.0_71 (on Linux 4.2.0-36-generic).
Please report this error on http://www.objectdb.com/database/issue/new
#2

Thank you for this report. The stack trace is incomplete. Further lines (which should be found in the log file) can help in understanding the context.

If you are using client-server mode please make sure that the server and client sides share the same ObjectDB version.

ObjectDB Support
#3
com.objectdb.o.InternalException: com.objectdb.o.UserException: Failed to deserialize (com.objectdb.o.VAL; local class incompatible: stream classdesc serialVersionUID = 3937626490472381156, local class serialVersionUID = 7665785024158016670)
com.objectdb.o.UserException: Failed to deserialize (com.objectdb.o.VAL; local class incompatible: stream classdesc serialVersionUID = 3937626490472381156, local class serialVersionUID = 7665785024158016670)
at com.objectdb.o.MSG.d(MSG.java:75)
at com.objectdb.o.BYR.Y(BYR.java:810)
at com.objectdb.o.BYR.Y(BYR.java:749)
at com.objectdb.o.CLS.T(CLS.java:383)
at com.objectdb.o.CLS.S(CLS.java:351)
at com.objectdb.o.CLS.Q(CLS.java:282)
at com.objectdb.o.CST.Vs(CST.java:741)
at com.objectdb.o.OBM.bQ(OBM.java:944)
at com.objectdb.o.OBM.bO(OBM.java:844)
at com.objectdb.o.OBM.bM(OBM.java:744)
at com.objectdb.jpa.EMImpl.commit(EMImpl.java:299)
at com.spiffymap.store.jdo.JdoDaoBase.commitTransaction(JdoDaoBase.java:110)
at com.spiffymap.store.jdo.JdoDaoBase.runInTransaction(JdoDaoBase.java:1100)
at com.spiffymap.sealog.service.ServicesDefault.runInTransaction(ServicesDefault.java:40)
at com.spiffymap.sealog.ui.server.service.SeaLogApiService.respondRestricted(SeaLogApiService.java:647)
at com.spiffymap.sealog.ui.server.service.SeaLogApiService.respond(SeaLogApiService.java:275)
at com.spiffymap.mvp.server.servlet.JsonServlet.respond(JsonServlet.java:187)
at com.spiffymap.mvp.server.servlet.JsonServlet.handle(JsonServlet.java:122)
at com.spiffymap.mvp.server.servlet.JsonServlet.doGet(JsonServlet.java:427)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.spiffymap.store.jdo.RequestScopeJdoFilter.doFilter(RequestScopeJdoFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.spiffymap.mvp.server.servlet.filter.ErrorCatcher.doFilter(ErrorCatcher.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
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)
#4

It does look as a client-server mismatch. Using the same objectdb.jar on both sides should solve this.

ObjectDB Support

Reply