qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Robie <jonathan.ro...@redhat.com>
Subject Re: tmm1-amqp & QPID
Date Fri, 24 Apr 2009 14:44:18 GMT
Hi Jesse,

Our Ruby clients are written in pure Ruby, the only C code is in the 
library for SASL integration. I have not ever used JRuby - did you try 
using our client with JRuby and run into problems? (Does anyone out 
there have experience with JRuby and our client?)

Make sure your client and server are using the same AMQP version. The 
Java server does 0-8, the same version that RabbitMQ uses. Our Ruby 
client uses 0-10, the same version that the C++ based server uses. The 
version information for clients and servers is here:

http://qpid.apache.org/getting-started.html

I can't comment on tmm1-amqp.

Jonathan

Jesse W. Hathaway wrote:
> Rather than the supplied QPID Ruby bindings I would 
> prefer to use a native Ruby implementation since then
> the bindings would work in JRuby and be portable to
> other AMQP implementations.
>
> However when trying [tmm1-amqp][1] with M4 and trunk I am seeing
> the below errors.
>
> tmm1-amqp supports version 0-8 of the AMQP protocol, which based on
> the QPID documentation the java broker should support the 0-8 spec.
>
> Are there any specific configuration changes which need to be made for
> the broker to support 0-8 clients?
>
> tmm1-amqp is tested against RabbitMQ, so the problem could lie in a difference
> between RabbitMQ and QPID.
>
> Any help in tracking down the cause of the problem would be appreciated.
>
> thanks, Jesse
>
> ## on the client
>
> java.nio.BufferUnderflowException (Hexdump: CE) in inspect
> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 03 74 77 6F
10 00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 77 6F 10 74 77 6F 2D 34 35
34 32 32 33 32 37 35 37 35 37 0A CE) in inspect
> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 03 74 77 6F
10 00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 77 6F 10 74 77 6F 2D 34 33
39 38 30 37 33 35 30 35 36 34 0A CE) in inspect
> java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 03 74 77 6F
10 00 00 00 00 CE 01 00 03 00 00 00 1B 00 3C 00 14 00 00 03 74 77 6F 0F 74 77 6F 2D 38 35
31 31 38 39 31 36 34 31 34 0A CE) in inspect
>
> ## on the server M4
>
> 2009-04-23 15:02:08,748 ERROR [pool-1-thread-4] protocol.AMQPFastProtocolHandler (AMQPFastProtocolHandler.java:217)
- Exception caught in/127.0.0.1:44681(guest), closing session explictly: org.apache.mina.filter.codec.ProtocolDecoderException:
java.lang.IllegalArgumentException (Hexdump: 00 00 00 0F 00 32 00 0A 00 00 03 74 77 6F 10
00 00 00 00 CE 01 00 03 00 00 00 1C 00 3C 00 14 00 00 03 74 77 6F 10 74 77 6F 2D 33 37 33
33 30 35 39 31 34 36 38 37 0A CE)
> org.apache.mina.filter.codec.ProtocolDecoderException: java.lang.IllegalArgumentException
(Hexdump: 00 00 00 0F 00 32 00 0A 00 00 03 74 77 6F 10 00 00 00 00 CE 01 00 03 00 00 00 1C
00 3C 00 14 00 00 03 74 77 6F 10 74 77 6F 2D 33 37 33 33 30 35 39 31 34 36 38 37 0A CE)
>   at org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:158)
>   at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>   at org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>   at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>   at org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86)
>   at org.apache.qpid.pool.Job.processAll(Job.java:114)
>   at org.apache.qpid.pool.Job.run(Job.java:153)
>   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>   at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.IllegalArgumentException
>   at java.nio.Buffer.limit(Buffer.java:249)
>   at org.apache.mina.common.FixedSizeByteBufferAllocator$FixedSizeByteBuffer.limit(FixedSizeByteBufferAllocator.java:196)
>   at org.apache.qpid.framing.FieldTable.<init>(FieldTable.java:72)
>   at org.apache.qpid.framing.FieldTableFactory.newFieldTable(FieldTableFactory.java:34)
>   at org.apache.qpid.framing.EncodingUtils.readFieldTable(EncodingUtils.java:652)
>   at org.apache.qpid.framing.amqp_8_0.AMQMethodBody_8_0.readFieldTable(AMQMethodBody_8_0.java:95)
>   at org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl.<init>(BasicConsumeBodyImpl.java:81)
>   at org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl$1.newInstance(BasicConsumeBodyImpl.java:47)
>   at org.apache.qpid.framing.amqp_8_0.MethodRegistry_8_0.convertToBody(MethodRegistry_8_0.java:298)
>   at org.apache.qpid.framing.AMQMethodBodyFactory.createBody(AMQMethodBodyFactory.java:43)
>   at org.apache.qpid.framing.AMQFrame.<init>(AMQFrame.java:42)
>   at org.apache.qpid.framing.AMQDataBlockDecoder.createAndPopulateFrame(AMQDataBlockDecoder.java:104)
>   at org.apache.qpid.framing.AMQDataBlockDecoder.decode(AMQDataBlockDecoder.java:118)
>   at org.apache.qpid.codec.AMQDecoder.doDecodeDataBlock(AMQDecoder.java:133)
>   at org.apache.qpid.codec.AMQDecoder.doDecode(AMQDecoder.java:100)
>   at org.apache.qpid.codec.AMQDecoder.decode(AMQDecoder.java:208)
>   at org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:147)
>   ... 9 more
>
> ## on the server trunk
>
> 2009-04-23 15:00:12,631 ERROR [pool-1-thread-5] protocol.AMQPFastProtocolHandler (AMQPFastProtocolHandler.java:217)
- Exception caught in/127.0.0.1:52805(guest), closing session explictly: org.apache.mina.filter.codec.ProtocolDecoderException:
java.nio.BufferUnderflowException (Hexdump: CE)
> org.apache.mina.filter.codec.ProtocolDecoderException: java.nio.BufferUnderflowException
(Hexdump: CE)
>   at org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:158)
>   at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>   at org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>   at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>   at org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86)
>   at org.apache.qpid.pool.Job.processAll(Job.java:114)
>   at org.apache.qpid.pool.Job.run(Job.java:153)
>   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>   at java.lang.Thread.run(Thread.java:595)
> Caused by: java.nio.BufferUnderflowException
>   at java.nio.Buffer.nextGetIndex(Buffer.java:404)
>   at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:336)
>   at org.apache.mina.common.FixedSizeByteBufferAllocator$FixedSizeByteBuffer.getInt(FixedSizeByteBufferAllocator.java:357)
>   at org.apache.mina.common.ByteBuffer.getUnsignedInt(ByteBuffer.java:725)
>   at org.apache.qpid.framing.EncodingUtils.readFieldTable(EncodingUtils.java:645)
>   at org.apache.qpid.framing.amqp_8_0.AMQMethodBody_8_0.readFieldTable(AMQMethodBody_8_0.java:95)
>   at org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl.<init>(BasicConsumeBodyImpl.java:81)
>   at org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl$1.newInstance(BasicConsumeBodyImpl.java:47)
>   at org.apache.qpid.framing.amqp_8_0.MethodRegistry_8_0.convertToBody(MethodRegistry_8_0.java:298)
>   at org.apache.qpid.framing.AMQMethodBodyFactory.createBody(AMQMethodBodyFactory.java:43)
>   at org.apache.qpid.framing.AMQFrame.<init>(AMQFrame.java:42)
>   at org.apache.qpid.framing.AMQDataBlockDecoder.createAndPopulateFrame(AMQDataBlockDecoder.java:104)
>   at org.apache.qpid.framing.AMQDataBlockDecoder.decode(AMQDataBlockDecoder.java:118)
>   at org.apache.qpid.codec.AMQDecoder.doDecodeDataBlock(AMQDecoder.java:133)
>   at org.apache.qpid.codec.AMQDecoder.doDecode(AMQDecoder.java:100)
>   at org.apache.qpid.codec.AMQDecoder.decode(AMQDecoder.java:208)
>   at org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:147)
>   ... 9 more
>
> [1]: http://github.com/tmm1/amqp/tree/master
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>
>   


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message