[ https://issues.apache.org/jira/browse/ARTEMIS-4340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17741130#comment-17741130 ]
ASF subversion and git services commented on ARTEMIS-4340: ---------------------------------------------------------- Commit 44b1027b3851b2b2a8fd1b6e7b6066c4f0b72b32 in activemq-artemis's branch refs/heads/main from Robbie Gemmell [ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=44b1027b38 ] ARTEMIS-4340: ThreadLocalByteBufferPool should clear position+limit before zeroing buffer > ByteUtil.uncheckedZeros throws IndexOutOfBoundsException in else condition > -------------------------------------------------------------------------- > > Key: ARTEMIS-4340 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4340 > Project: ActiveMQ Artemis > Issue Type: Bug > Affects Versions: 2.22.0 > Environment: Windows 10, Linux > Reporter: David Hoffer > Assignee: Robbie Gemmell > Priority: Major > Time Spent: 1h 20m > Remaining Estimate: 0h > > In artemis-commons: > ByteUtil.uncheckedZeros throws IndexOutOfBoundsException in the else part of > the method. > The code in the else part is looping through number of bytes specified by > bytes input parameter which is often provided by buffer.capacity(), but then > the code at > buffer.put(i + offset, zero) where buffer is of DirectByteBuffer type calls > checkIndex(int i) and it throws if i is >= limit. > But limit is not the same as capacity in a Buffer. In our case capacity is > 4096 and limit is 16 so method always throws IndexOutOfBoundsException if the > else case is executed as soon as i ==16. > This code is called when Artemis is launched and it validates/creates the > various bindings files. This causes Artemis to fail to load properly. > Note I believe all versions of artemis-commons has this bug but I currently > am testing with 2.22.0. -- This message was sent by Atlassian Jira (v8.20.10#820010)