diff -r ca7d48236048 -r e9be0e04635a src/share/vm/prims/jvmtiTagMap.cpp --- a/src/share/vm/prims/jvmtiTagMap.cpp Sat Dec 20 00:45:18 2008 -0800 +++ b/src/share/vm/prims/jvmtiTagMap.cpp Tue Jan 06 07:05:05 2009 -0800 @@ -1320,6 +1320,9 @@ } // do the iteration + // If this operation encounters a bad object when using CMS, + // consider using safe_object_iterate() which avoids perm gen + // objects that may contain bad references. Universe::heap()->object_iterate(_blk); // when sharing is enabled we must iterate over the shared spaces