|
Quick Lists
|
|
Bug ID:
|
6822263
|
|
Votes
|
0
|
|
Synopsis
|
G1: JVMTI heap iteration fails
|
|
Category
|
hotspot:garbage_collector
|
|
Reported Against
|
|
|
Release Fixed
|
hs15(b05),
7(b54) (Bug ID:2175667)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
|
|
Submit Date
|
25-MAR-2009
|
|
Description
|
JVM fails guarantee with a G1 collector after going through a JVMTI heap iteration with a subsequent full GC:
# Internal Error (/tmp/jprt/P1/B/025853.ap31282/source/src/share/vm/classfile/dictionary.cpp:262), pid=3474, tid=9
# Error: guarantee(!is_alive->do_object_b(k_def_class_loader),"defining loader should not be live if klass is not")
Posted Date : 2009-03-25 21:50:54.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
JVMTI reachable objects iteration functions use a call to object_iterate() to clean the marking bits of the objects (it uses marking bits to track the vertices of the object graph that it visits). The semantics of the object_iterate() include iteration over the perm gen. However G1 doesn't do that. The fix is to include the perm gen objects in the iterable set.
Posted Date : 2009-03-25 21:50:54.0
http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/4ac7d97e6101
Posted Date : 2009-03-26 18:23:51.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |