提交 9aa55e35 编写于 作者: M mgerdin

8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting...

8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation
Summary: Assertion is only valid when at a safepoint, adjust accordingly.
Reviewed-by: stefank, jmasa, tamao
上级 82320c1d
...@@ -2440,7 +2440,8 @@ void MetaspaceAux::print_on(outputStream* out, Metaspace::MetadataType mdtype) { ...@@ -2440,7 +2440,8 @@ void MetaspaceAux::print_on(outputStream* out, Metaspace::MetadataType mdtype) {
free_chunks_capacity_bytes / K, free_chunks_capacity_bytes / K,
used_and_free / K, used_and_free / K,
capacity_bytes / K); capacity_bytes / K);
assert(used_and_free == capacity_bytes, "Accounting is wrong"); // Accounting can only be correct if we got the values during a safepoint
assert(!SafepointSynchronize::is_at_safepoint() || used_and_free == capacity_bytes, "Accounting is wrong");
} }
// Print total fragmentation for class and data metaspaces separately // Print total fragmentation for class and data metaspaces separately
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册