# HG changeset patch # User mgerdin # Date 1363077744 -3600 # Node ID 1c88b99a2b011ff011de823418a8b1b3942b8dee # Parent 71f619500f9bb2010a536315d7bdd96b6352c70f 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 diff -r 71f619500f9b -r 1c88b99a2b01 src/share/vm/memory/metaspace.cpp --- a/src/share/vm/memory/metaspace.cpp Mon Mar 11 15:37:10 2013 +0100 +++ b/src/share/vm/memory/metaspace.cpp Tue Mar 12 09:42:24 2013 +0100 @@ -2440,7 +2440,8 @@ free_chunks_capacity_bytes / K, used_and_free / 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