RFR: 8031686: G1: assert(_hrs.max_length() == _expansion_regions) failed
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Jan 22 21:42:22 UTC 2014
On 1/22/2014 8:41 AM, Stefan Johansson wrote:
> Hi,
>
> I've got some comments offline about the test and my initial
> assumption that more than one GC would be tested the way the test was
> written might have been wrong. I've now made the test a G1 only
> regression test, to specifically test the issue reported in this bug.
Looks good. What would you think about changing the
name of the test to TestG1TwoGbHeap? Just so it's
obviously a G1 test.
Jon
>
> New webrev:
> http://cr.openjdk.java.net/~sjohanss/8031686/webrev.02/
>
> Thanks,
> Stefan
>
> On 2014-01-17 15:23, Stefan Johansson wrote:
>> Hi again,
>>
>> I've added a regression test for the issue. See the updated review at:
>> http://cr.openjdk.java.net/~sjohanss/8031686/webrev.01/
>>
>> The test is naive and just tries to run -version with a heap size of
>> 2g. I don't explicitly set G1 as GC but make sure I will use the
>> arguments given to jtreg, this will ensure testing more than one GC
>> and also that we do not run with G1 on unsupported platforms.
>>
>> Please have a look at the test and let me know if you have any
>> questions or suggestions.
>>
>> Thanks,
>> Stefan
>>
>> On 2014-01-16 14:43, Stefan Johansson wrote:
>>> Hi,
>>>
>>> Please review this small fix for:
>>> https://bugs.openjdk.java.net/browse/JDK-8031686
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~sjohanss/8031686/webrev.00/
>>>
>>> Summary:
>>> The failing assertion is caused by an erroneous calculation done
>>> when setting up the regions array in HeapRegionSeq. When using a
>>> large heap a pointer calculation will overflow (since ptrdiff_t is
>>> signed) and this will in turn lead to the regions array being
>>> created longer that it should be. For non debug builds this will
>>> lead to increased memory usage and jmap will report a faulty value
>>> for the number of regions. The fix is to use the
>>> pointer_delta-function to do the calculation.
>>>
>>> Note: The bug is currently targeted for 8 but is defer-requested and
>>> should be moved to 9 shortly. I plan to fix it in 9 and backport it
>>> to 8u20.
>>>
>>> Testing:
>>> * Manually verified that we are able to start 32-bit VMs with more
>>> than 2g of heap using a debug build.
>>>
>>> Thanks,
>>> Stefan
>>
>
More information about the hotspot-gc-dev
mailing list