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

Daniel D. Daugherty daniel.daugherty at oracle.com
Fri Jan 13 23:03:56 UTC 2017


Adding Goetz to this email thread directly.


On 1/13/17 10:37 AM, Tobias Hartmann wrote:
> Hi,
>
> please review the following patch:
> https://bugs.openjdk.java.net/browse/JDK-8172731
> http://cr.openjdk.java.net/~thartmann/8172731/webrev.00/

src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp
     No comments.

Thumbs up! Thanks for fixing this issue.

Goetz, can you please chime in on this thread since you were the
author for:

     JDK-8170655: [posix] Fix minimum stack size computations
     https://bugs.openjdk.java.net/browse/JDK-8170655

My in-house testing as sponsor didn't catch this issue and now
I look more closely at your testing comment in the bug report,
I don't see Solaris X64 listed.

Dan


>
> 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