RFR: 8366495: Incorrect minimum memory size allocated in allocateNativeInternal()
Amit Kumar
amitkumar at openjdk.org
Mon Sep 1 06:23:52 UTC 2025
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.
-------------
Commit messages:
- update min size to Long.BYTES
Changes: https://git.openjdk.org/jdk/pull/27027/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27027&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8366495
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/27027.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/27027/head:pull/27027
PR: https://git.openjdk.org/jdk/pull/27027
More information about the core-libs-dev
mailing list