[infinispan-issues] [JBoss JIRA] Commented: (ISPN-176) Unmarshalling errors leading to ClassCastException in sender

Galder Zamarreno (JIRA) jira-events at lists.jboss.org
Tue Sep 1 09:42:23 EDT 2009


    [ https://jira.jboss.org/jira/browse/ISPN-176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12483922#action_12483922 ] 

Galder Zamarreno commented on ISPN-176:
---------------------------------------

FYI, the sender shows the following under this situation:

org.infinispan.CacheException: java.lang.ClassCastException: java.io.EOFException
	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:101)
	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:107)
	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:214)
	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:201)
	at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:184)
	at org.infinispan.interceptors.ReplicationInterceptor.visitPrepareCommand(ReplicationInterceptor.java:63)
	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:117)
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
	at org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:48)
	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:117)
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
	at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:85)
	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:117)
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:48)
	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:34)
	at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105)
	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:117)
	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:237)
	at org.infinispan.transaction.xa.TransactionXaAdapter.prepare(TransactionXaAdapter.java:86)
	at org.hibernate.test.cache.infinispan.functional.cluster.DualNodeJtaTransactionImpl.runXaResourcePrepare(DualNodeJtaTransactionImpl.java:194)
	at org.hibernate.test.cache.infinispan.functional.cluster.DualNodeJtaTransactionImpl.commit(DualNodeJtaTransactionImpl.java:86)
	at org.hibernate.test.cache.infinispan.functional.cluster.DualNodeJtaTransactionManagerImpl.commit(DualNodeJtaTransactionManagerImpl.java:123)
	at org.hibernate.test.cache.infinispan.functional.classloader.ClassLoaderTestDAO.getCountForBranch(ClassLoaderTestDAO.java:129)
	at org.hibernate.test.cache.infinispan.functional.classloader.IsolatedClassLoaderTest.queryTest(IsolatedClassLoaderTest.java:230)
	at org.hibernate.test.cache.infinispan.functional.classloader.IsolatedClassLoaderTest.testClassLoaderHandlingNamedQueryRegion(IsolatedClassLoaderTest.java:188)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at org.hibernate.junit.functional.FunctionalTestCase.runTest(FunctionalTestCase.java:125)
	at org.hibernate.test.cache.infinispan.functional.cluster.AbstractDualNodeTestCase.runTest(AbstractDualNodeTestCase.java:85)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at org.hibernate.junit.UnitTestCase.runBare(UnitTestCase.java:63)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.extensions.TestSetup.run(TestSetup.java:23)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassCastException: java.io.EOFException
	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:330)
	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:88)
	... 50 more

> Unmarshalling errors leading to ClassCastException in sender
> ------------------------------------------------------------
>
>                 Key: ISPN-176
>                 URL: https://jira.jboss.org/jira/browse/ISPN-176
>             Project: Infinispan
>          Issue Type: Bug
>          Components: RPC
>    Affects Versions: 4.0.0.BETA1
>            Reporter: Galder Zamarreno
>            Assignee: Galder Zamarreno
>             Fix For: 4.0.0.CR1
>
>
> In a synchronous replicated cluster, if the receiver fails to marshall the remote command for example like this:
> 2009-09-01 15:21:09,098 10101 TRACE [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (Incoming-2,localhost.localdomain-25703:) Problems invoking command.
> java.io.EOFException: Read past end of file
> 	at org.jboss.marshalling.AbstractUnmarshaller.eofOnRead(AbstractUnmarshaller.java:180)
> 	at org.jboss.marshalling.AbstractUnmarshaller.readUnsignedByteDirect(AbstractUnmarshaller.java:308)
> 	at org.jboss.marshalling.AbstractUnmarshaller.readUnsignedByte(AbstractUnmarshaller.java:276)
> 	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:158)
> 	at org.jboss.marshalling.AbstractUnmarshaller.readObject(AbstractUnmarshaller.java:81)
> 	at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:64)
> 	at org.infinispan.marshall.jboss.ConstantObjectTable$ExternalizerAdapter.readObject(ConstantObjectTable.java:255)
> 	at org.infinispan.marshall.jboss.ConstantObjectTable.readObject(ConstantObjectTable.java:242)
> 	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:307)
> 	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:158)
> 	at org.jboss.marshalling.AbstractUnmarshaller.readObject(AbstractUnmarshaller.java:81)
> 	at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:64)
> 	at org.infinispan.marshall.jboss.ConstantObjectTable$ExternalizerAdapter.readObject(ConstantObjectTable.java:255)
> 	at org.infinispan.marshall.jboss.ConstantObjectTable.readObject(ConstantObjectTable.java:242)
> 	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:307)
> 	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:158)
> 	at org.jboss.marshalling.AbstractUnmarshaller.readObject(AbstractUnmarshaller.java:81)
> 	at org.infinispan.marshall.jboss.JBossMarshaller.objectFromObjectStream(JBossMarshaller.java:206)
> 	at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:104)
> 	at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromByteBuffer(MarshallerAdapter.java:26)
> 	at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:135)
> 	at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:542)
> 	at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:450)
> 	at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:327)
> 	at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:857)
> 	at org.jgroups.JChannel.up(JChannel.java:1456)
> 	at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:812)
> 	at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:489)
> 	at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:261)
> 	at org.jgroups.protocols.FRAG2.up(FRAG2.java:195)
> 	at org.jgroups.protocols.FC.up(FC.java:487)
> 	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:894)
> 	at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:239)
> 	at org.jgroups.protocols.UNICAST.up(UNICAST.java:297)
> 	at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:869)
> 	at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:686)
> 	at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:143)
> 	at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:186)
> 	at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:271)
> 	at org.jgroups.stack.Protocol.up(Protocol.java:336)
> 	at org.jgroups.protocols.Discovery.up(Discovery.java:234)
> 	at org.jgroups.protocols.PING.up(PING.java:282)
> 	at org.jgroups.protocols.TP.passMessageUp(TP.java:996)
> 	at org.jgroups.protocols.TP.access$100(TP.java:53)
> 	at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1502)
> 	at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1474)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
> 	at java.lang.Thread.run(Thread.java:595)
> Either, the sender does not deal well with this responses, or such exceptions need to be wrapped in a org.infinispan.remoting.responses.Response instance so that the way the current sender is coded can deal with them accordingly.

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

        


More information about the infinispan-issues mailing list