Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5937D10A2A for ; Thu, 9 Jan 2014 09:44:29 +0000 (UTC) Received: (qmail 70954 invoked by uid 500); 9 Jan 2014 09:44:03 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 70821 invoked by uid 500); 9 Jan 2014 09:43:54 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 70793 invoked by uid 99); 9 Jan 2014 09:43:50 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jan 2014 09:43:50 +0000 Date: Thu, 9 Jan 2014 09:43:50 +0000 (UTC) From: "Kevin Earls (JIRA)" To: dev@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (AMQ-4920) AmqpErrorException occurs with multiple concurrent amqp topic consumers MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-4920?page=3Dcom.atlassian.= jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Earls resolved AMQ-4920. ------------------------------ Resolution: Fixed > 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.AmqpErrorExcep= tion > at org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(Va= lueHandler.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(Va= lueHandler.java:105) > at org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler= .java:90) > =E2=80=A6 repeated many times > at org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandl= er.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.receiveI= mpl(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 =3D outboundTransforme= r.transform(jms);" in the ConsumerContext.pumpOutbound() method of AmqpProt= ocolConverter(). This call sometimes returns with its content (amqp.getArra= y()) set to all zeros.=20 > On those messages this line > LOG.info("In pumpOutbound, setting currentBuffer to offset {} length {} c= ontent [{}]", 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) AutoOutboundTransf= ormer. It calls AMQPNativeOutboundTransformer.transform(), which calls msg= .readBytes(data), which sometimes writes all 0s to data. Here msg is an Ac= tiveMQBytesMessage. =20 -- This message was sent by Atlassian JIRA (v6.1.5#6160)