RFR: 8215773: applications/kitchensink/Kitchensink.java crash with "assert(ZAddress::is_marked(addr)) failed: Should be marked"
Per Liden
per.liden at oracle.com
Mon Jan 7 08:14:27 UTC 2019
On 1/4/19 11:10 AM, Erik Österlund wrote:
> Hi,
>
> During SystemDictionary::do_unloading(), JFR pokes around at the dead
> mirror oops that died due to class unloading.
> The mirror is loaded without AS_NO_KEEPALIVE, which makes ZGC load
> barriers a bit sad, because they dislike loading dead oops.
>
> The solution is to load these mirrors with AS_NO_KEEPALIVE decorators,
> indicating that it is okay for them to be dead as we are only peeking at
> them. This is fine to do during concurrent execution by the GC thread
> that is performing class unloading, and hence controls the GC cycle,
> making sure that the memory of the dead oops is not reclaimed until the
> accesses have safely finished.
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8215773
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8215773/webrev.00/
Looks good.
/Per
>
> Manually ran kitchensink 24 hours to make sure this doesn't happen
> again. And hs-tier1-6 on linux.
>
> Thanks,
> /Erik
More information about the hotspot-runtime-dev
mailing list