RFR: 8358748: Large page size initialization fails with assert "page_size must be a power of 2"

Yagmur Eren duke at openjdk.org
Thu Jun 26 07:54:04 UTC 2025


The VM now exits gracefully if `-XX:LargePageSizeInBytes` is set to a non power of two value, instead of asserting. After this change, `SizeTTest.java` failed because the tested values are not valid for `-XX:LargePageSizeInBytes` (`LargePageSizeInBytesConstraintFunc` returns `JVMFlag::VIOLATES_CONSTRAINT`). Therefore, I updated the test to use `NUMASpaceResizeRate`, since I believe that it only requires a flag of type `size_t`.

Before the change:

java -XX:+UseLargePages -XX:LargePageSizeInBytes=6 -version

# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (workspace/open/src/hotspot/share/runtime/os.cpp:2449), pid=1885945, tid=1885946
# assert(is_power_of_2(page_size)) failed: page_size must be a power of 2: 0x6



After the change:

java -XX:+UseLargePages -XX:LargePageSizeInBytes=6 -version

LargePageSizeInBytes ( 6 ) must be a power of 2
Improperly specified VM option 'LargePageSizeInBytes=6'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

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

Commit messages:
 - updating year
 - 8358748: Large page size initialization fails with assert "page_size must be a power of 2"

Changes: https://git.openjdk.org/jdk/pull/25994/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25994&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8358748
  Stats: 17 lines in 4 files changed: 14 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/25994.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25994/head:pull/25994

PR: https://git.openjdk.org/jdk/pull/25994


More information about the hotspot-runtime-dev mailing list