[jboss-jira] [JBoss JIRA] Commented: (JBREM-677) Compression marshalling fails intermittently.

Ron Sigal (JIRA) jira-events at lists.jboss.org
Thu Nov 15 03:57:18 EST 2007


    [ http://jira.jboss.com/jira/browse/JBREM-677?page=comments#action_12387670 ] 
            
Ron Sigal commented on JBREM-677:
---------------------------------

I've been able to demonstrate a problem using org.jboss.remoting.marshal.compress.CompressingMarshaller and JBossSerialization.  The same example runs fine with java serialization.  

Upon the first invocation, the client prints the following stack trace:

     [java] ERROR 15-11 03:38:52,600 (SocketClientInvoker.java:handleException:122)  -Got marshalling exception, exiting
     [java] java.lang.ClassCastException: org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput
     [java] Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
     [java] 	at org.jboss.aop.util.MarshalledValue.writeExternal(MarshalledValue.java:190)
     [java] 	at $Proxy0.getString(Unknown Source)
     [java] 	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
     [java] 	at org.jboss.ejb3.example.client.Client.calculate(Client.java:79)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.ejb3.example.client.Client.main(Client.java:54)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] Caused by: java.rmi.MarshalException: Failed to communicate.  Problem during marshalling/unmarshalling; nested exception is: 
     [java] 	at org.jboss.aop.metadata.SimpleMetaData.writeExternal(SimpleMetaData.java:226)
     [java] 	java.lang.ClassCastException: org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput
     [java] 	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
     [java] 	at org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker.java:123)
     [java] 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:697)
     [java] 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
     [java] 	at org.jboss.remoting.Client.invoke(Client.java:1635)
     [java] 	at org.jboss.remoting.Client.invoke(Client.java:548)
     [java] 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.writeExternal(MethodInvocation.java:321)
     [java] 	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
     [java] 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
     [java] 	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
     [java] 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
     [java] 	at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
     [java] 	... 3 more
     [java] 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:287)
     [java] Caused by: java.lang.ClassCastException: org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput
     [java] 	at org.jboss.remoting.serialization.impl.jboss.JBossSerializationManager.sendObject(JBossSerializationManager.java:89)
     [java] 	at org.jboss.aop.util.MarshalledValue.writeExternal(MarshalledValue.java:190)
     [java] 	at org.jboss.remoting.marshal.serializable.SerializableMarshaller.write(SerializableMarshaller.java:120)
     [java] 	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
     [java] 	at org.jboss.remoting.marshal.compress.CompressingMarshaller.write(CompressingMarshaller.java:105)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:1033)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:592)
     [java] 	at org.jboss.aop.metadata.SimpleMetaData.writeExternal(SimpleMetaData.java:226)
     [java] 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
     [java] 	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
     [java] 	at org.jboss.remoting.Client.invoke(Client.java:1635)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.remoting.Client.invoke(Client.java:548)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.writeExternal(MethodInvocation.java:321)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
     [java] 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
     [java] 	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
     [java] 	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
     [java] 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
     [java] 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
     [java] 	at $Proxy0.getString(Unknown Source)
     [java] 	at org.jboss.ejb3.example.client.Client.calculate(Client.java:79)
     [java] 	at org.jboss.ejb3.example.client.Client.main(Client.java:54)
     [java] 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
     [java] 	at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
     [java] 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:287)
     [java] 	at org.jboss.remoting.serialization.impl.jboss.JBossSerializationManager.sendObject(JBossSerializationManager.java:89)
     [java] 	at org.jboss.remoting.marshal.serializable.SerializableMarshaller.write(SerializableMarshaller.java:120)
     [java] 	at org.jboss.remoting.marshal.compress.CompressingMarshaller.write(CompressingMarshaller.java:105)
     [java] 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:1033)
     [java] 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:592)
     [java] 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
     [java] 	at org.jboss.remoting.Client.invoke(Client.java:1635)
     [java] 	at org.jboss.remoting.Client.invoke(Client.java:548)
     [java] 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
     [java] 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
     [java] 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
     [java] 	at $Proxy0.getString(Unknown Source)
     [java] 	at org.jboss.ejb3.example.client.Client.calculate(Client.java:79)
     [java] 	at org.jboss.ejb3.example.client.Client.main(Client.java:54)
     [java] 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
     [java] 	... 11 more

and the server prints the following stack trace:

03:47:11,725 ERROR [ServerThread] Worker thread initialization failure
java.io.EOFException: Unexpected end of ZLIB input stream
        at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:216)
        at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:134)
        at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:87)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at org.jboss.serial.io.JBossObjectInputStream.checkSignature(JBossObjectInputStream.java:110)
        at org.jboss.serial.io.JBossObjectInputStream.<init>(JBossObjectInputStream.java:94)
        at org.jboss.remoting.serialization.impl.jboss.JBossSerializationManager.createInput(JBossSerializationManager.java:57)
        at org.jboss.remoting.serialization.SerializationManager.createRegularInput(SerializationManager.java:46)
        at org.jboss.remoting.marshal.compress.CompressingUnMarshaller.read(CompressingUnMarshaller.java:98)
        at org.jboss.remoting.transport.socket.ServerThread.versionedRead(ServerThread.java:677)
        at org.jboss.remoting.transport.socket.ServerThread.completeProcessInvocation(ServerThread.java:543)
        at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:535)
        at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:371)
        at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:169)


> Compression marshalling fails intermittently.
> ---------------------------------------------
>
>                 Key: JBREM-677
>                 URL: http://jira.jboss.com/jira/browse/JBREM-677
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.4.0.Beta1 (Pinto)
>            Reporter: Ron Sigal
>         Assigned To: Ron Sigal
>             Fix For: 2.4.0.Beta1 (Pinto)
>
>
> When used with EJB's, CompressingUnMarshaller intermittently throws java.io.IOException: Not in GZIP format.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list