[
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)