RFR(S): 8010463: G1: Crashes with -UseTLAB and heap verification

Thomas Schatzl thomas.schatzl at oracle.com
Mon Mar 25 08:36:49 UTC 2013


Hi,

On Fri, 2013-03-22 at 12:02 -0700, John Cuthbertson wrote:
> Hi Thomas,
> 
> Thanks for looking over the changes. Replies inline....
> 
> > Allowing a NULL VMThread would allow checking heap consistency right
> > after Universe::genesis(). It is probably not expected that there are
> > already issues about the heap at this stage, but since we're already
> > verifying, I'd tend to prefer the option that verifies as much as
> > possible.
> > (Did not really check if it would really make a difference)
>
> [ long explanation that doing so is not that easy... ]
>
> Following this approach is not worth it. If we want to do then we will 
> need to do it in a VMOperation as a separate changeset.

I agree. Thanks for clarification.

> >   seems unnecessary. We should either check VerifyGCStartAt == 0 or not
> > I would not mind either way; but you still need the VerifyBeforeGC (or
> > another flag) because otherwise the verification would practically be
> > unconditional as the default value of VerifyGCStartAt is zero.
> 
> In my response to Bengt - I said I think we have a few choices:
> 
> * Add a new flag to verify the heap during VM startup.
> * Rename and extend the existing VerifyOnExit(??) flag to cover 
> verifying during startup.
>
> * change the code to "VerifyBeforeGC && VerifyGCStartAt == 0"

This one is probably the most reasonable for this fix as Bengt
indicates.

Thomas




More information about the hotspot-gc-dev mailing list