[infinispan-dev] frequent stack in testsuite

Sanne Grinovero sanne at infinispan.org
Thu Jun 9 10:58:38 EDT 2011


Hello all,
if I happen to look at the console while the tests are running, I see
this exception popup very often:

2011-06-09 15:32:18,092 ERROR [JGroupsTransport]
(Incoming-1,Infinispan-Cluster,NodeB-32230) ISPN00096: Caught while
requesting or applying state
org.infinispan.statetransfer.StateTransferException:
java.io.EOFException: Read past end of file
	at org.infinispan.statetransfer.StateTransferManagerImpl.applyState(StateTransferManagerImpl.java:333)
	at org.infinispan.remoting.InboundInvocationHandlerImpl.applyState(InboundInvocationHandlerImpl.java:230)
	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.setState(JGroupsTransport.java:602)
	at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUpEvent(MessageDispatcher.java:711)
	at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:771)
	at org.jgroups.JChannel.up(JChannel.java:1441)
	at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1074)
	at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.connectToStateProvider(STREAMING_STATE_TRANSFER.java:523)
	at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.handleStateRsp(STREAMING_STATE_TRANSFER.java:462)
	at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:223)
	at org.jgroups.protocols.FRAG2.up(FRAG2.java:189)
	at org.jgroups.protocols.FC.up(FC.java:479)
	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:891)
	at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:246)
	at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:613)
	at org.jgroups.protocols.UNICAST.up(UNICAST.java:294)
	at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:703)
	at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:133)
	at org.jgroups.protocols.FD.up(FD.java:275)
	at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:275)
	at org.jgroups.protocols.MERGE2.up(MERGE2.java:209)
	at org.jgroups.protocols.Discovery.up(Discovery.java:291)
	at org.jgroups.protocols.TP.passMessageUp(TP.java:1102)
	at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1658)
	at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1640)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.EOFException: Read past end of file
	at org.jboss.marshalling.SimpleDataInput.eofOnRead(SimpleDataInput.java:126)
	at org.jboss.marshalling.SimpleDataInput.readUnsignedByteDirect(SimpleDataInput.java:263)
	at org.jboss.marshalling.SimpleDataInput.readUnsignedByte(SimpleDataInput.java:224)
	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
	at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
	at org.infinispan.marshall.jboss.GenericJBossMarshaller.objectFromObjectStream(GenericJBossMarshaller.java:192)
	at org.infinispan.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:190)
	at org.infinispan.statetransfer.StateTransferManagerImpl.processCommitLog(StateTransferManagerImpl.java:230)
	at org.infinispan.statetransfer.StateTransferManagerImpl.applyTransactionLog(StateTransferManagerImpl.java:252)
	at org.infinispan.statetransfer.StateTransferManagerImpl.applyState(StateTransferManagerImpl.java:322)
	... 27 more

But I'm not sure if it's an issue, as it seems tests are not failing.
I consider a "Read past end of file" quite suspiciously looking; would
it be possible to think that some internal Externalizer is writing
less bytes than what it's attempting to read?
Is there something clever I could do to understand which object the
marshaller is trying to read when something like this is happening?
I've found debugging this quite hard.

Also, it doesn't look like our externalizers have a good test
coverage; They are likely implicitly tested as I assume that nothing
would work if they aren't, but still it looks like we have no explicit
tests for them?

Cheers,
Sanne


More information about the infinispan-dev mailing list