RFR: 8325074: ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Thu Feb 15 08:36:03 UTC 2024


On Thu, 15 Feb 2024 07:08:50 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

> `ZBarrierSet::clone_obj_array` incorrectly treats the payload of an ObjArray as `[base, obj + size[`. With non standard object alignment (`ObjectAlignmentInBytes`) there may be padding words at the end. 
> 
> Change `ZBarrierSet::clone_obj_array` to instead use `[base, base + length[` as the payload.

The fix looks good. How did you confirm that it solves the issue (given the failure is intermittent with low frequency)? Would it be possible to complement the failing test case with another test that reproduces the issue more reliably?

-------------

PR Review: https://git.openjdk.org/jdk/pull/17863#pullrequestreview-1882093646


More information about the hotspot-gc-dev mailing list