[9] RFR(S): 8172731: runtime/Thread/TooSmallStackSize.java fails on solaris-x64 with product build
David Holmes
david.holmes at oracle.com
Sun Jan 15 22:44:50 UTC 2017
My concern with this series of changes is that we're claiming to be
setting shared posix values when it seems in fact the requirements are
different across "posix" platforms. We now penalize all posix platforms
with a larger minimum stack due to this Solaris x64 issue.
I'm also very curious as to why Solaris x64 needs to be different?
David
On 15/01/2017 8:13 PM, Lindenmaier, Goetz wrote:
> Hi,
>
> sorry for not testing this platform on my side, but I don't have
> a machine to build solaris x86_64 on.
> Anyways, this size looks strange. Other platforms get along with 32K and 48K
> compiler thread size! Why does this platform need ten times more than others?
> Is it because C2 optimizations are configured more aggressive, leading to bigger
> compile tasks during startup?
> But solaris_sparc also needs a lot (102K) as well as aix (192K). At some point
> I'll have a look at why aix needs that much.
>
> Basically this is the right fix for the immediate problem, though. Looks good.
>
> Best regards,
> Goetz
>
>
>
>
>
>
>
>
>
>
>
>> -----Original Message-----
>> From: Daniel D. Daugherty [mailto:daniel.daugherty at oracle.com]
>> Sent: Samstag, 14. Januar 2017 01:04
>> To: Tobias Hartmann <tobias.hartmann at oracle.com>; hotspot-
>> dev at openjdk.java.net Developers <hotspot-dev at openjdk.java.net>;
>> Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
>> Subject: Re: [9] RFR(S): 8172731: runtime/Thread/TooSmallStackSize.java fails
>> on solaris-x64 with product build
>>
>> 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