RFR: 8371948: TestStackOverflowDuringInit.java fails xss too small on linux-aarch64
SendaoYan
syan at openjdk.org
Fri Dec 19 02:25:02 UTC 2025
On Tue, 18 Nov 2025 02:57:30 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Hi all,
>>
>> On linux-aarch64, when page size is 64K, the minimal java thread stack size is 448K. So this PR increase the minimal java thread stack size in test/hotspot/jtreg/runtime/ClassInitErrors/TestStackOverflowDuringInit.java. Below is the calculation formula for the minimal java thread stack size:
>>
>>
>> page_size = 64K
>> _java_thread_min_stack_allowed = 72K
>> _stack_red_zone_size = align_up(StackRedPages * unit, page_size) = align_up(1*4K, 64K) = 64K
>> _stack_yellow_zone_size = align_up(StackYellowPages * unit, page_size) = align_up(2*4K, 64K) = 64K
>> _stack_reserved_zone_size = align_up(StackReservedPages * unit, page_size) = align_up(1*4K, 64K) = 64K
>> _stack_shadow_zone_size = align_up(StackShadowPages * unit, page_size) = align_up(25*4K, 64K) = 128K
>> _java_thread_min_stack_allowed = align_up(72K+64K+64K+64K+128K, 64K) = 448K
>>
>>
>> This PR add whitebox API getMinimumJavaStackSize() to the the allowd minimum java stack size, and get the allowed minimum java stack size in test/hotspot/jtreg/runtime/ClassInitErrors/TestStackOverflowDuringInit.java
>>
>> Change has been verified locally both on linux-x64 and linux-aarch64.
>
> A more resilient change would be to add a WhiteBox API to obtain the minimum stack for the actual platform in use, and then exec the VM with that as an -Xss value. Is that something you can do?
Thanks for the suggestions and reviews @dholmes-ora @theRealAph
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28352#issuecomment-3673198106
More information about the hotspot-dev
mailing list