Srinivas Ramakrishna ysr1729 at
Sat Jul 27 01:41:21 UTC 2013

Don't have the code in front of me to check, but yes that would seem to be the thing to do. I thought it was reset in the young gen gc epilogue ...


On Jul 26, 2013, at 14:46, Jon Masamitsu <jon.masamitsu at> wrote:

> Hiroshi,
> I'm looking at an assertion failure with CMSParallelInitialMarkEnabled
> and CMSEdenChunksRecordAlways both enabled.  The assertion
> failure is in do_young_space_rescan()
>  5506      assert(mr.is_empty() || space->used_region().contains(mr),
>  5507             "Should be in space");
> and the failure occurs because _eden_chunk_index is > 0 and
> eden is empty.
> A young GC has just occurred and a System.gc() is in progress where the
> System.gc() is executing the the usual phases of CMS in a stop-the-world
> fashion.  A rarely seen scenario I think.  That is, the initial mark is being
> executed.
> I was looking at the places where _eden_chunk_index is reinitialized to
> 0.  I don't think you added any in you changes, right?
> I was thinking that _eden_chunk_index should be reset to 0 after
> a young GC where we know that eden is empty.  What do you think?
> Jon

More information about the hotspot-gc-dev mailing list