You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Peter Machon (Jira)" <ji...@apache.org> on 2022/10/10 15:27:00 UTC

[jira] [Commented] (ARTEMIS-4034) Index out of bounds at receive message header properties

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

Peter Machon commented on ARTEMIS-4034:
---------------------------------------

... it might be worth noting, that we have implemented a heap size dependent flow control, starting and stopping sessions depending on total messages size. This error usually happens roughly half a second after attempting to (re)start a session. 

> Index out of bounds at receive message header properties
> --------------------------------------------------------
>
>                 Key: ARTEMIS-4034
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4034
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.25.0
>         Environment: Broker version: apache-artemis-2.25.0 (three node cluster)
> OS: Ubuntu 22.04.1 LTS
>            Reporter: Peter Machon
>            Priority: Major
>
> Running load tests, using the Core client we sometimes see the following error that causes fatal failure:
> {{2022-10-10 17:02:59.675 ERROR 35788 --- [-netty-threads)] org.apache.activemq.artemis.core.client  : AMQ214013: Failed to decode packet}}
>  
> {{java.lang.IndexOutOfBoundsException: readerIndex(68) + length(8) exceeds writerIndex(70): UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 68, widx: 70, cap: 70)}}
> {{    at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.buffer.AbstractByteBuf.readLong(AbstractByteBuf.java:835) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.message.impl.CoreMessage.decodeHeadersAndProperties(CoreMessage.java:720) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.message.impl.CoreMessage.decode(CoreMessage.java:691) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.message.impl.CoreMessage.decode(CoreMessage.java:683) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.message.impl.CoreMessage.receiveBuffer(CoreMessage.java:205) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionReceiveMessage.receiveMessage(SessionReceiveMessage.java:76) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionReceiveMessage.decodeRest(SessionReceiveMessage.java:68) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.decode(PacketImpl.java:375) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.protocol.ClientPacketDecoder.decode(ClientPacketDecoder.java:44) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:378) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$DelegatingBufferHandler.bufferReceived(ClientSessionFactoryImpl.java:1247) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:314) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:435) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}
> {{    at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) ~[artemis-jms-client-all-2.25.0.jar:2.25.0]}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)