JDK-6972207 : G1:assert(Universe::heap()->is_in_closed_subset(o)) failed: should be in closed
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2010-07-26
  • Updated: 2014-01-15
  • Resolved: 2010-08-05
Related Reports
Duplicate :  
Relates :  
Description
While testing the changes for 6814437 using the GC test suite, with dacapo and -XX:ParallelGCThreads=0 I ran into several failures similar to that seen in 6930581. I also ran into a few instances of the following assert:

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/instanceKlass.cpp:1475
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/export/workspaces/reference/hotspot/src/share/vm/oops/instanceKlass.cpp:1475), pid=23224, tid=7
#  assert(Universe::heap()->is_in_closed_subset(o)) failed: should be in closed
#

To verify if the culprit was the changes associated with 6814437 I ran with a reference VM and saw very similar results, i.e. most of the failures were that seen in 6930581 while 1 or 2 were the assert at instanceKlass.cpp:1475.

Comments
EVALUATION As I suspected the failures reported in this CR (namely an assert that an object should be in closed and a few missing RSet entries) are caused by not scanning all the scard in a remembered set when ParallelGCThreads=0. This is caused by the issue described in 6930581 so I am marking this as a duplicate.
05-08-2010