[9] RFR(S): 8172731: runtime/Thread/TooSmallStackSize.java fails on solaris-x64 with product build

Tobias Hartmann tobias.hartmann at oracle.com
Fri Jan 13 17:37:15 UTC 2017


Hi,

please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8172731
http://cr.openjdk.java.net/~thartmann/8172731/webrev.00/

The test fails because the VM crashes with a CompilerThreadStackSize of 300k. The problem is caused by the fix for JDK-8170655 [1] which now allows a minimum CompilerThreadStackSize of 300k, before it was 396k. 300k is not enough to start the VM on Solaris x86. This didn't show up when the fix was integrated because it was only tested with debug builds (with a debug build the number of StackShadowPages is increased by 2 and therefore the minimal CompilerThreadStackSize is larger).

Setting the guard pages to the minimum size via "-XX:StackShadowPages=10 -XX:StackRedPages=1 -XX:StackYellowPages=2" requires a CompilerThreadStackSize of at least 381k to not crash at startup with a product build but the VM only checks for >= 260k. I increased the value of os::Posix::_compiler_thread_min_stack_allowed by 123 to 325 such that the minimum allowed CompilerThreadStackSize is 384k (due to the additional space allocated for guard pages and rounding to the page size).

Tested with failing test, manually and with RBT (running).

Thanks,
Tobias

[1] https://bugs.openjdk.java.net/browse/JDK-8170655


More information about the hotspot-dev mailing list