RFR: 8366495: Incorrect minimum memory size allocated in allocateNativeInternal() [v2]

Per Minborg pminborg at openjdk.org
Wed Sep 3 08:31:49 UTC 2025


On Tue, 2 Sep 2025 09:43:23 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> Originally Reported in OpenJ9, fix by @AditiS11 present here: https://github.com/ibmruntimes/openj9-openjdk-jdk25/pull/32
>> 
>> These test failure were reported in OpenJ9 (x86), I can't reproduce on my system (s390x): 
>> 
>> java/foreign/TestFill.java
>> java/foreign/TestSegments.java
>> java/foreign/TestSegmentBulkOperationsContentHash.java
>> java/foreign/TestStringEncoding.java
>> java/foreign/TestVarArgs.java
>> 
>> 
>> 
>> ```java 
>>         // Always allocate at least some memory so that zero-length segments have distinct
>>         // non-zero addresses.
>>         alignedSize = Math.max(1, alignedSize);
>> 
>> 
>> Here minimum-allocated size will be 1, which is incorrect because 
>> 
>> 
>>     private static void initNativeMemory(long address, long byteSize) {
>>         for (long i = 0; i < byteSize; i += Long.BYTES) {
>>             UNSAFE.putLongUnaligned(null, address + i, 0);
>>         }
>>     }
>> 
>> `initNativeMemory()` is going to write Long.
>
> Amit Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   update

The new changes look good. Thanks for fixing this issue. Please update the title of the PR so we can integrate this one.

-------------

Marked as reviewed by pminborg (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/27027#pullrequestreview-3179528509


More information about the core-libs-dev mailing list