[9] RFR(S): 8066143 [TESTBUG] : New tests in gc/survivorAlignment/ fails
Filipp Zhinkin
filipp.zhinkin at oracle.com
Fri Dec 5 16:50:42 UTC 2014
Hi Jon,
On 12/04/2014 10:41 PM, Jon Masamitsu wrote:
>
> On 12/04/2014 08:40 AM, Filipp Zhinkin wrote:
>> Hi all,
>>
>> please review the fix for 8066143.
>>
>> Issue:
>> - newly developed tests on survivor alignment failed w/ client VM and
>> MaxRAMFraction=8;
>> - test on the command line option fails w/ +IgnoreUnrecognizedVMOptions.
>>
>> Root cause:
>> - gc/survivorAlignment tests verifies that objects promoted to survivor space
>> occupies some specific amount of space depending on
>> SurvivorAlignmentInBytes values.
>> To make sure that there will be enough space to fit all these objects,
>> tests specify [Max]NewSize values. In some cases (like Client VM and
>> MaxRAMFraction=8)
>> initial heap sizecould be smaller then specified NewSize and it will be
>> resized,
>> thus survivor space usage in some cases may be less then expected,
>> just because its size is too small.
>>
>> - command line option test checks that SurvivorAlignmentInBytes is
>> experimental option
>> and expects that JVM startup willfail w/o +UnlockExperimentalVMOptions
>> specified
>> on the command line, but a set of command line options used in the test may
>> also
>> contain +IgnoreUnrecognizedVMOptions specified during a test run and as a
>> result
>> JVM startup won't fail.
>>
>> Proposed fix:
>> - for all gc/survivirAlignment tests specify InitialHeapSize;
>
> My first thought would have been to specify MaxHeapSize
> rather than InitialHeapSize. There will be a default max heap
> size calculated for the platform and specifying InitialHeapSize
> will affect the calculated max heap size but that could result
> in an unexpectedly small old gen which might have unforeseen
> consequences.
>
> Was there a specific reason for choosing InitialHeapSize?
Issue was caused by the fact that ergonomically chosen heap size
could be smaller than MaxNewSize specified in tests, so I decided
to limit lower bound for heap size by InitialHeapSize.
Thanks,
Filipp.
>
> Jon
>
>> - update command line test to use @require tag in order to avoid incompatible
>> options.
>>
>> Bug id: https://bugs.openjdk.java.net/browse/JDK-8066143
>> Webrev: http://cr.openjdk.java.net/~fzhinkin/8066143/webrev.00/
>> Testing: manual & automated
>>
>> Best regards,
>> Filipp.
>
More information about the hotspot-gc-dev
mailing list