JDK-8081629 : CMS split_block() does not correctly fix up block-offset-table for large blocks
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-06-01
  • Updated: 2016-04-19
  • Resolved: 2015-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.
JDK 9
9 b84Fixed
Related Reports
Duplicate :  
Relates :  
Description
When a large block is split in order to allocate a chunk at the beginning of the block, split_block() should fix the block-offset-table (BOT)  for the remainder of the free chunk but does not do so correctly when the remainder is large enough to use the logarithmic strides used for the BOT.  split_block() fixes the start of the remainder block but may damage that fix when the fixes for the logarithmic strides is attempted.
Comments
Jon's comment above should say JDK-8079274.
15-03-2016

Using the flag VerifyBlockOffsetArray in a debug build will verify this fix but any test run with it will run too long to be used as a regression test. The reproducer in 8069274 passes with VerifyBlockOffsetArray.
22-06-2015

ILW = Low (un-optimal block sizes selected), High (fairly often), High (none) = P4
03-06-2015