Return-Path: X-Original-To: apmail-activemq-issues-archive@minotaur.apache.org Delivered-To: apmail-activemq-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B4EB319A5E for ; Wed, 9 Mar 2016 11:27:41 +0000 (UTC) Received: (qmail 22312 invoked by uid 500); 9 Mar 2016 11:27:40 -0000 Delivered-To: apmail-activemq-issues-archive@activemq.apache.org Received: (qmail 22274 invoked by uid 500); 9 Mar 2016 11:27:40 -0000 Mailing-List: contact issues-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 issues@activemq.apache.org Received: (qmail 22259 invoked by uid 99); 9 Mar 2016 11:27:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Mar 2016 11:27:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id BC3342C1F58 for ; Wed, 9 Mar 2016 11:27:40 +0000 (UTC) Date: Wed, 9 Mar 2016 11:27:40 +0000 (UTC) From: "Ari Tilli (JIRA)" To: issues@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ARTEMIS-427) Large messages cause underflow in proton. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ARTEMIS-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15186968#comment-15186968 ] Ari Tilli commented on ARTEMIS-427: ----------------------------------- could this be that here artemis gives buffer for example with 15000 bytes of total 77k message. at org.apache.activemq.artemis.core.protocol.proton.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:128) and here proton part tries to read the whole message length of 77k ?? java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151) (Just quessing, hard to follow code with browser through github ) > Large messages cause underflow in proton. > ----------------------------------------- > > Key: ARTEMIS-427 > URL: https://issues.apache.org/jira/browse/ARTEMIS-427 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP > Affects Versions: 1.3.0 > Environment: RHEL7.2 + openJDK > Reporter: Ari Tilli > > Moved away from STOMP to AMQP since sending 100k messages caused connection to break. > Now when server side is updated to use qpid-c++ messages are still not routed to clients (Clients still use STOMP.) > When sending messages of for example 77746 bytes, message is > not received by client, and reason is that some buffer "underflows". > After reading some messages from qpid proton list (they send big > messages) , this seems to be Artemis issue. > java.nio.BufferUnderflowException > at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151) > at org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:939) > at org.apache.qpid.proton.codec.BinaryType$LongBinaryEncoding.readValue(BinaryType.java:110) > at org.apache.qpid.proton.codec.BinaryType$LongBinaryEncoding.readValue(BinaryType.java:67) > at org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39) > at org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:887) > at org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:658) > at org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:574) > at org.apache.qpid.proton.jms.EncodedMessage.decode(EncodedMessage.java:46) > at org.apache.qpid.proton.jms.JMSMappingInboundTransformer.transform(JMSMappingInboundTransformer.java:40) > at org.apache.activemq.artemis.core.protocol.proton.converter.ProtonMessageConverter.inboundJMSType(ProtonMessageConverter.java:57) > at org.apache.activemq.artemis.core.protocol.proton.converter.ProtonMessageConverter.inbound(ProtonMessageConverter.java:43) > at org.apache.activemq.artemis.core.protocol.proton.plug.ProtonSessionIntegrationCallback.serverSend(ProtonSessionIntegrationCallback.java:264) > at org.proton.plug.context.server.ProtonServerReceiverContext.onMessage(ProtonServerReceiverContext.java:116) > at org.proton.plug.context.AbstractConnectionContext$LocalListener.onDelivery(AbstractConnectionContext.java:273) > at org.proton.plug.handler.Events.dispatch(Events.java:100) > at org.proton.plug.handler.impl.ProtonHandlerImpl.dispatch(ProtonHandlerImpl.java:363) > at org.proton.plug.handler.impl.ProtonHandlerImpl.flush(ProtonHandlerImpl.java:283) > at org.proton.plug.handler.impl.ProtonHandlerImpl.inputBuffer(ProtonHandlerImpl.java:183) > at org.proton.plug.context.AbstractConnectionContext.inputBuffer(AbstractConnectionContext.java:89) > at org.apache.activemq.artemis.core.protocol.proton.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:128) > at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:627) > at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68) > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) > at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846) > at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) > at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) > at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) > at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) > at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)