The fix for JDK-8034852 added an assert:
Internal Error (/opt/jprt/T/P1/080804.ehelin/s/src/share/vm/memory/metaspace.cpp:1436), pid=25676, tid=39
assert(capacity_until_gc >= committed_bytes) failed: capacity_until_gc: 52428800 < committed_bytes: 52690944
that fails for a lot of cases. The problem is in MetaspaceGC::allowed_expansion:
// Always grant expansion if we are initiating the JVM,
// or if the GC_locker is preventing GCs.
if (!is_init_completed() || GC_locker::is_active_and_needs_gc()) {
return left_until_max / BytesPerWord;
}
This will cause committed to grow beyond the HWM during initialization and when the GC_locker is active.
The changeJDK-8034852 should be backed out until this problem has been solved.
Internal Error (/opt/jprt/T/P1/080804.ehelin/s/src/share/vm/memory/metaspace.cpp:1436), pid=25676, tid=39
assert(capacity_until_gc >= committed_bytes) failed: capacity_until_gc: 52428800 < committed_bytes: 52690944
that fails for a lot of cases. The problem is in MetaspaceGC::allowed_expansion:
// Always grant expansion if we are initiating the JVM,
// or if the GC_locker is preventing GCs.
if (!is_init_completed() || GC_locker::is_active_and_needs_gc()) {
return left_until_max / BytesPerWord;
}
This will cause committed to grow beyond the HWM during initialization and when the GC_locker is active.
The change