Results 1 to 4 of 4

Thread: EOFException (Spring Remoting & Terracotta)

  1. #1

    Default EOFException (Spring Remoting & Terracotta)

    Hi,
    I've a client/server application which communicates using Spring RMI.The server side cache is replicated using terracotta (this cache has POJOs).When a service is invoked by the client side,it gets a list of these POJOs.During this invocation,I get following exception:
    Caused by: java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.ja va:375)
    at java.io.ObjectInputStream$BlockDataInputStream.rea dInt(ObjectInputStr
    eam.java:2776)
    at java.io.ObjectInputStream.readInt(ObjectInputStrea m.java:950)
    at java.util.ArrayList.readObject(ArrayList.java:588)
    at sun.reflect.GeneratedMethodAccessor24.invoke(Unkno wn Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974
    )
    at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1
    753)
    at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(Object InputStream.java:19
    47)
    at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1871)

    at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1


    Any idea,what might be causing this ?
    I think terracotta does its own magic to replicate these POJOs which are part of the response and the Spring client side is not able to understand this "modified" response.

    Thanks,
    ROhit

  2. #2
    Join Date
    Jul 2007
    Posts
    6

    Default

    Hello,

    Would it be possible for you to paste the full stack trace? With the excerpt that you pasted we can only see the call stack inside the JDK, nothing related to Spring or Terracotta can be seen.

    Best regards,

    Geert
    Geert Bevin - Core Developer, Terracotta - Founder and Lead, RIFE - Owner, Uwyn

  3. #3

    Default

    Ok.
    Here's the stack trace which is printed before the one I had pasted in my earlier post.

    org.springframework.remoting.RemoteConnectFailureE xception: Cannot connect to re
    mote service [rmi://localhost:1199/MyService]; nested exception is java
    .rmi.UnmarshalException: error unmarshalling return; nested exception is:
    java.io.EOFException
    at org.springframework.remoting.rmi.RmiClientIntercep torUtils.convertRmi
    AccessException(RmiClientInterceptorUtils.java:177 )
    at org.springframework.remoting.rmi.RmiClientIntercep tor.doInvoke(RmiCli
    entInterceptor.java:340)
    at org.springframework.remoting.rmi.RmiClientIntercep tor.invoke(RmiClien
    tInterceptor.java:257)
    at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(
    ReflectiveMethodInvocation.java:166)
    at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynami
    cAopProxy.java:204)
    at $Proxy49.searchByCriteria(Unknown Source)

    I don't see any exception related to Terracotta classes.Does Terracotta kind of "enhance" the classes which is causing the trouble,any idea ?

  4. #4

    Default

    Sure.
    Here is Spring related stack trace:

    Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested excep
    tion is:
    java.io.EOFException
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:1 73)
    at org.springframework.remoting.rmi.RmiInvocationWrap per_Stub.invoke(Unk
    nown Source)
    at org.springframework.remoting.rmi.RmiClientIntercep tor.doInvoke(RmiCli
    entInterceptor.java:391)
    at org.springframework.remoting.rmi.RmiClientIntercep tor.doInvoke(RmiCli
    entInterceptor.java:337)
    ... 31 more
    Caused by: java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.ja va:375)
    at java.io.ObjectInputStream$BlockDataInputStream.rea dInt(ObjectInputStr
    eam.java:2776)
    at java.io.ObjectInputStream.readInt(ObjectInputStrea m.java:950)
    at java.util.ArrayList.readObject(ArrayList.java:588)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unkno wn Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974
    )
    at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1
    753)
    at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(Object InputStream.java:19
    47)
    at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1871)

    at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1
    753)
    at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
    at java.util.ArrayList.readObject(ArrayList.java:593)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unkno wn Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974
    )
    at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1
    753)
    at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
    at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRe f.java:306)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:1 55)
    ... 34 more

    On further investigations,I found that this is happening for a particular POJO that has its member variable of type ArrayList.

    Thanks,
    ROhit

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •