[infinispan-issues] [JBoss JIRA] (ISPN-1465) Unsupported protocol version when handling RPC messages

Paul Ferraro (Created) (JIRA) jira-events at lists.jboss.org
Tue Oct 18 15:49:45 EDT 2011


Unsupported protocol version when handling RPC messages
-------------------------------------------------------

                 Key: ISPN-1465
                 URL: https://issues.jboss.org/browse/ISPN-1465
             Project: Infinispan
          Issue Type: Bug
          Components: RPC
    Affects Versions: 5.1.0.BETA1
            Reporter: Paul Ferraro
            Assignee: Galder Zamarreño
            Priority: Critical
             Fix For: 5.1.0.BETA2


When testing the latest BETA1 as well as the latest SNAPSHOT (in anticipation of BETA2), I see the following exceptions in the AS7 testsuite:


WARN: Problems unmarshalling remote command from byte buffer
java.io.IOException: Unsupported protocol version 172
	at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1184)
	at org.infinispan.marshall.jboss.AbstractJBossMarshaller.startObjectInput(AbstractJBossMarshaller.java:113)
	at org.infinispan.marshall.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:156)
	at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:112)
	at org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:80)
	at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:50)
	at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:139)
	at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:446)
	at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:353)
	at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:229)
	at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:556)
	at org.jgroups.JChannel.up(JChannel.java:718)
	at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1026)
	at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:481)
	at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:178)
	at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
	at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
	at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:865)
	at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
	at org.jgroups.protocols.UNICAST.up(UNICAST.java:297)
	at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:719)
	at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:547)
	at org.jgroups.protocols.BARRIER.up(BARRIER.java:126)
	at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:171)
	at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:273)
	at org.jgroups.protocols.MERGE2.up(MERGE2.java:208)
	at org.jgroups.protocols.Discovery.up(Discovery.java:335)
	at org.jgroups.protocols.TP.passMessageUp(TP.java:1091)
	at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1646)
	at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1623)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)


Looking at the CommandAwareRpcDispatcher.handle(Message) (line 139):
  cmd = (ReplicableCommand) req_marshaller.objectFromBuffer(req.getBuffer(), req.getOffset(), req.getLength());

However, Message.getBuffer() already returns a copy of the message buffer that takes into account the offset and length.  So, it would seem the above code will return a subset of the desired buffer if the offset > 0.

Either this code should operate on the raw buffer (i.e. req.getRawBuffer()), or pass 0 as the offset to objectFromBuffer(...).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the infinispan-issues mailing list