RFR: 8226797: serviceability/tmtools/jstat/GcCapacityTest.java fails with Exception: java.lang.RuntimeException: OGCMN > OGCMX (min generation capacity > max generation capacity)
stefan.karlsson at oracle.com
Fri Dec 13 08:39:29 UTC 2019
On 2019-12-13 01:41, serguei.spitsyn at oracle.com wrote:
> Hi Stefan,
> It looks good to me.
Thanks for reviewing.
> Sorry, I was on the meeting, wrote this email and forgot to push 'send'
> Just now discovered that it has not been really sent. :(
No problem. I pushed this yesterday to make the JDK 14 fork cut-off.
> On 12/12/19 07:23, Stefan Karlsson wrote:
>> In the interest to get this integrated before the RDP cut-off I'm
>> going to push this ASAP. This has gone through tier1-tier3 testing.
>> On 2019-12-12 13:01, Stefan Karlsson wrote:
>>> Hi all,
>>> Please review this patch to fix a problem with unintialized values in
>>> our generation counters.
>>> The jstat values NGCMN and OGCMN both return uninitialized values.
>>> I stumbled upon this while creating a patch to remove the
>>> GenerationSpec class.
>>> GenerationSpec::_min_size is never initialized, and then used to
>>> create the generations:
>>> case Generation::DefNew:
>>> return new DefNewGeneration(rs, _init_size, _min_size,
>>> case Generation::MarkSweepCompact:
>>> return new TenuredGeneration(rs, _init_size, _min_size,
>>> _max_size, remset);
>>> That in turn uses it to initialize the perf counters:
>>> DefNewGeneration::DefNewGeneration(ReservedSpace rs,
>>> size_t initial_size,
>>> size_t min_size,
>>> size_t max_size,
>>> const char* policy)
>>> _gen_counters = new GenerationCounters("new", 0, 3,
>>> min_size, max_size, &_virtual_space);
>>> I'm setting the value to _init_size, because it reflects how
>>> MinNewSize and MinOldSize relates to NewSize and OldSize.
More information about the hotspot-gc-dev