[ 
https://issues.apache.org/jira/browse/AMQ-4920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13850268#comment-13850268
 ] 

Kevin Earls commented on AMQ-4920:
----------------------------------

Sorry, it's still failing for me.  I'll attach a log where I ran the test 50 
times and got 16 failures.  After each failure I grepped for error messages, 
most of which look like:

2013-12-17 09:50:36,657 [pool-1-thread-4] - ERROR AMQ4930ConsumerTask           
 - consumer Consumer-3 expected 291 got message [topic]
or 
2013-12-17 09:49:32,429 [pool-1-thread-3] - ERROR AMQ4930ConsumerTask           
 - consumer Consumer-2 expected 646 got message 
[topic://AMQ4920Test1387270164946]


> AmqpErrorException occurs with multiple concurrent amqp topic consumers
> -----------------------------------------------------------------------
>
>                 Key: AMQ-4920
>                 URL: https://issues.apache.org/jira/browse/AMQ-4920
>             Project: ActiveMQ
>          Issue Type: Bug
>            Reporter: Kevin Earls
>            Assignee: Kevin Earls
>         Attachments: rp.out
>
>
> I'll add a test to reproduce this.  There are currently 2 problems.  The more 
> frequent one looks like:  org.apache.qpid.amqp_1_0.type.AmqpErrorException
>         at 
> org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandler.java:99)
>         at 
> org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler.java:90)
>         at 
> org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandler.java:105)
>         at 
> org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler.java:90)
> … repeated many times
> at 
> org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandler.java:105)
>         at 
> org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler.java:90)
>         at 
> org.apache.qpid.amqp_1_0.messaging.SectionDecoderImpl.parseAll(SectionDecoderImpl.java:49)
>         at org.apache.qpid.amqp_1_0.client.Receiver.receive(Receiver.java:280)
>         at 
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receive0(MessageConsumerImpl.java:286)
>         at 
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receiveImpl(MessageConsumerImpl.java:255)
>         at 
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receive(MessageConsumerImpl.java:238)
>         at 
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receive(MessageConsumerImpl.java:56)
>         at 
> org.apache.activemq.transport.amqp.ENTMQ466ConsumerThread.run(ENTMQ466Test.java:123)
> This occurs at the line "final EncodedMessage amqp = 
> outboundTransformer.transform(jms);" in the ConsumerContext.pumpOutbound() 
> method of AmqpProtocolConverter(). This call sometimes returns with its 
> content (amqp.getArray()) set to all zeros. 
> On those messages this line
> LOG.info("In pumpOutbound, setting currentBuffer to offset {} length {} 
> content [{}]", amqp.getArrayOffset(), amqp.getLength(), amqp.getArray());
> returns:
> 2013-11-26 17:19:16,680 [calhost] Task-3] - INFO AmqpProtocolConverter - In 
> pumpOutbound, setting currentBuffer to offset 0 length 162 content [[0, 0, 0, 
> 0, 0, \
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
> 0, 0, 0, 0, 0, 0, 0, 0,\
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
> 0, 0, 0, 0, 0, 0, 0, 0\
> , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
> At the root of this, outboundTransformer is a (proton) 
> AutoOutboundTransformer.  It calls AMQPNativeOutboundTransformer.transform(), 
> which calls msg.readBytes(data), which sometimes writes all 0s to data.  Here 
> msg is an ActiveMQBytesMessage.  



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to