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