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

Albert Mingkun Yang ayang at openjdk.org
Tue Aug 19 08:29:43 UTC 2025


On Tue, 19 Aug 2025 07:50:50 GMT, Yagmur Eren <duke at openjdk.org> wrote:

>> 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.
>
> Yagmur Eren has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits:
> 
>  - resolve conflic and merge master
>  - some fixes
>  - updating year
>  - 8358748: Large page size initialization fails with assert "page_size must be a power of 2"

> Therefore, I updated the test to use NUMASpaceResizeRate, since I believe that it only requires a flag of type size_t.

How about `LargePageHeapSizeThreshold`? It's `size_t` also. (`NUMASpaceResizeRate` is a ParallelGC-only flag.)

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

PR Comment: https://git.openjdk.org/jdk/pull/25994#issuecomment-3199759357


More information about the hotspot-runtime-dev mailing list