RFR(S): 8134889: Kitchensink stress test crashes with out of memory error

Mikael Gerdin mikael.gerdin at oracle.com
Thu Apr 21 08:02:09 UTC 2016

Hi Derek,

On 2016-04-20 23:48, Derek White wrote:
> Still looking for reviews for a small fix for a P2 bug...
> Thanks!
> On 4/7/16 6:07 PM, Derek White wrote:
>> Summary:
>> The remaining part of this bug deals with running out of address space
>> on 32-bit JVMs running on Win64. This fix is simply to have a hard
>> limit on GC threads (still larger than necessary) on 32-bit JVMs. The
>> new limit is 16 (2 * switch_pt).
>> Note that this overlaps somewhat with several "# of GC thread" bugs
>> including:
>>  - 8131932 <https://bugs.openjdk.java.net/browse/JDK-8131932> :
>> Ergonomics oversize number of GC threads for small JVMs on large systems
>>  - 8153225 <https://bugs.openjdk.java.net/browse/JDK-8153225>: G1
>> creates too many concurrent refinement threads by default
>>  - 7189147 <https://bugs.openjdk.java.net/browse/JDK-7189147>: GC
>> threads should be created as needed not all at once
>> Doing the correct thing in general will require a lot more performance
>> analysis. The fix here is simple, only affects 32-bit JVMs running on
>> >= 24 core machines, and will reduce OOM crashes in nightly testing.
>> BUG: 8134889 <https://bugs.openjdk.java.net/browse/JDK-8134889>
>> WEBREV: http://cr.openjdk.java.net/~drwhite/8134889/webrev.01/

Fix looks good.
I wonder about the cast to unsigned int, though.
It seems weird that it's needed since all the other operands are 
unsigned ints in the calculation.


>> TESTS: jprt

More information about the hotspot-gc-dev mailing list