Hi,

I've a strange error in one of our Applications. We have a client (remoting 2.0.6) that communicates with a server application (tomcat 6/remoting 1.2.7). And somethimes we have an error on the server dealing with the byte stream he receives from the client. One Example for an error is:

Code:
java.lang.ClassNotFoundException: com.smitch.deb.service.bo.type.EmvProflieP
java.lang.ClassNotFoundException: com.smitch.deb.service.bPo.type.EmvProflie
java.lang.ClassNotFoundException: com.smitpch.deb.service.bo.type.User
The classes cannot be found, because there are invalid chars in the String. Allways it's a 'P'.

The concrete Stacktrace is:

Code:
2011-11-23 13:30:29,550 ERROR [http-0-21] org.springframework.web.servlet.DispatcherServlet: Could not complete request
java.lang.ClassNotFoundException: com.smitpch.deb.service.bo.type.User
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
	at org.springframework.remoting.rmi.CodebaseAwareObjectInputStream.resolveClass(CodebaseAwareObjectInputStream.java:79)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	a
Another Example for an Exception is:

Code:
2011-11-23 09:26:22,534 ERROR [http-0-4] org.springframework.web.servlet.DispatcherServlet: Could not complete request
java.io.UTFDataFormatException
	at java.io.ObjectInputStream$BlockDataInputStream.readUTFSpan(ObjectInputStream.java:3074)
	at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(ObjectInputStream.java:3007)
	at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2820)
	at java.io.ObjectInputStream.readString(ObjectInputStream.java:1599)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1320)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at java.util.ArrayList.readObject(ArrayList.java:593)
	at sun.reflect.GeneratedMethodAccessor22075.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.doReadRemoteInvocation(HttpInvokerServiceExporter.java:174)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:125)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:102)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:81)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:358)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
What we made with the previous Release is, we upgraded from tomcat5 to tomcat6. The errors occur very rarely, but they occur. Something like 20 times on 5'000 requests.

We also have another client with the same version of remoting, there we don't have any problems. Both clients are running on the same Linux Server.

Does someone can give some hints?

Regards,

Mike