JDK-8051343 : If G1DeferredRSUpdate is disabled, card redirtying time is not updated, causing a failed assertion
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8,9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2014-07-18
  • Updated: 2014-09-12
  • Resolved: 2014-09-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Related Reports
Duplicate :  
Relates :  
If G1DeferredRSUpdate is disabled, the current G1 Code does not update the redirty-logged-cards detailed timing. In combination with -XX:G1LogLevel=finest, this causes an assertion failure.

The fix is to properly initialize the records (or set them to zero if G1DeferredRSUpdateis not set).

Also consider hiding this entire phase in the timing output because its not done at all.
I = M, causes an assert to trigger in nightly testing when very detailed logging is used L = L, must disable -XX:G1DeferredRSUpdate and use -XX:G1LogLevel=finest, which is a rare combination W = M, do not use -XX:G1LogLevel=finest or enable -XX:G1DeferredRSUpdate ILW = MLM => P4

note that G1DeferredRSUpdate is a develop flag, and its default is true.