RFR (S) 8236901: 8232759 missed a test case
David Holmes
david.holmes at oracle.com
Tue Jan 14 00:36:12 UTC 2020
Hi Coleen,
On 14/01/2020 7:08 am, coleen.phillimore at oracle.com wrote:
> Summary: Use jcmd GC.class-histogram because it also works for verifying
> that the classes are loaded.
I'm looking at GC.class_stats and GC.class_histogram output and the
actual test and I'm not sure the test was even working the way it was
expected before. If I run the test using GC.class_stats I see:
----------System.out:(20/1962)----------
sizeof(DefineClass.class) == 8905
class test.DefineClass
WARNING: Ran out of C-heap; undercounted 342 total instances in data below
1447 46 0 544 0 6752 12
1351 4048 3616 8088 11704 test.DefineClass
1448 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1449 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1450 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1451 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1452 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1453 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1454 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1455 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1456 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
1457 46 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
Should have 2 DefineClass instances and we have: 11
then
System.gc()
WARNING: Ran out of C-heap; undercounted 342 total instances in data below
1598 47 0 544 0 6752 12
1351 4048 3616 8088 11704 test.DefineClass
1599 47 0 544 0 4072 12
1351 4048 3536 5488 9024 test.DefineClass
Should have 2 DefineClass instances and we have: 2
so the test "passes". But if I then change the test to use
GC.class_histogram as suggested it fails!
----------System.out:(7/321)----------
sizeof(DefineClass.class) == 8909
class test.DefineClass
WARNING: Ran out of C-heap; undercounted 342 total instances in data below
Should have 2 DefineClass instances and we have: 0
System.gc()
WARNING: Ran out of C-heap; undercounted 342 total instances in data below
Should have 2 DefineClass instances and we have: 0
This is on a JDK where GC.class_stats still exists.
David
> open webrev at http://cr.openjdk.java.net/~coleenp/2020/8236901.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8236901
>
> Ran tier1 which runs the test on all Oracle platforms.
>
> Thanks,
> Coleen
More information about the hotspot-runtime-dev
mailing list