abort in ZForwarding

Erik Österlund erik.osterlund at oracle.com
Wed Apr 10 09:22:59 UTC 2019


Hi Stuart,

Good catch. Looks good.

Thanks,
/Erik

On 2019-04-09 11:52, Stuart Monteith wrote:
> Thanks Per.
>
> I've opened JDK-8222180 and put the patch here:
>      http://cr.openjdk.java.net/~smonteith/8222180/webrev/
>
> It passes the gtests and runs fine with -XX:+ZVerifyForwarding enabled.
>
> BR,
>     Stuart
>
>
> On Mon, 8 Apr 2019 at 21:18, Per Liden <per.liden at oracle.com> wrote:
>> Hi Stuart,
>>
>> On 04/08/2019 06:39 PM, Stuart Monteith wrote:
>> [...]
>>> This resolves the issue:
>>>
>>> diff -r 6eb8c555644a src/hotspot/share/gc/z/zForwarding.cpp
>>> --- a/src/hotspot/share/gc/z/zForwarding.cpp    Mon Apr 08 09:44:49 2019 +0100
>>> +++ b/src/hotspot/share/gc/z/zForwarding.cpp    Mon Apr 08 17:30:18 2019 +0100
>>> @@ -69,6 +69,11 @@
>>>        // Check for duplicates
>>>        for (ZForwardingCursor j = i + 1; j < _entries.length(); j++) {
>>>          const ZForwardingEntry other = at(&j);
>>> +      if (!other.populated()) {
>>> +         // Skip empty entries
>>> +         continue;
>>> +       }
>>> +
>>>          guarantee(entry.from_index() != other.from_index(), "Duplicate from");
>>>          guarantee(entry.to_offset() != other.to_offset(), "Duplicate to");
>>>        }
>>>
>>> Have you already encountered this, shall I create a bug+  patchset ?
>> Ah, yes. That looks like an oversight after JDK-8221540. Feel free to
>> create a bug and send a patch to hotspot-gc-dev. I'll sponsor it.
>>
>> /Per



More information about the zgc-dev mailing list