8151460: Metaspace counters can have inconsistent values (original) (raw)
Jon Masamitsu jon.masamitsu at oracle.com
Tue Mar 22 18:15:37 UTC 2016
- Previous message (by thread): 8151460: Metaspace counters can have inconsistent values
- Next message (by thread): 8151460: Metaspace counters can have inconsistent values
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
80 // Adding a second GC due to metadata allocations caused caused by getting 81 // initial size from the pool. This is needed when running with -Xcomp. 82 System.gc(); 83 assertEQ(getUsed(perfNS), pool.getUsage().getUsed(), "Used out of sync"); 84 assertEQ(getCapacity(perfNS), pool.getUsage().getCommitted(), "Committed out of sync");
The comment (which has an extra "caused" BTW) says that the call to get the initial size necessitates the System.gc(). Is there reason to believe that the call to get the used will sometime down the road require another System.gc()?
87 // Need to ensure that used is up to date and the all unloadable 88 // classes are unloaded before doing this check.
I'd suggest "unreachable" or "dead" in place of "unloadable"
// Need to ensure that used is up to date and the all unreachable // classes are unloaded before doing this check.
Using "unloadable" feels a little like using an adjective to describe itself. Kind of like "What classes can be unloaded? The unloadable ones." :-)
Jon
On 3/22/2016 6:35 AM, Stefan Johansson wrote:
Hi,
Please review this test-fix to avoid the problems described in: https://bugs.openjdk.java.net/browse/JDK-8151460 Webrev: http://cr.openjdk.java.net/~sjohanss/8151460/hotspot.00/ Summary: Two of the metaspace perf-counter tests fails intermittently when run with -Xcomp. One reason this has been more frequent lately is a change to one of the tests that removed a System.gc() call. This call seems to be more important when running with -Xcomp. Having the System.gc() call is needed because the PerfCounters are only updated after a GC. And if any class loading/unloading happens after the call we can't do the assertions we are doing. When doing this fix I also realized that one of the tests hadn't changed UseCompressedKlassPointers to UseCompressedClassPointers, both the command-line and the test-code used the old version so I updated this as well. Testing: The updated tests pass in RBT. Thanks, Stefan
- Previous message (by thread): 8151460: Metaspace counters can have inconsistent values
- Next message (by thread): 8151460: Metaspace counters can have inconsistent values
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]