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

[jira] [Updated] (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:all-tabpanel ]

Justin Bertram updated ARTEMIS-4034:
------------------------------------
    Description: 
Running load tests using the Core client we sometimes see the following error that causes fatal failure:
{noformat}
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]{noformat}

  was:
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]}}


> 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:
> {noformat}
> 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]{noformat}



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