RFR 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
coleen.phillimore at oracle.com
Tue Mar 25 20:42:08 UTC 2014
Summary: Keep class in CLD::_klasses list and mirror created for CDS
classes if OOM during restore_shareable_info(). This keeps pointers
consistent for CMS.
This change makes restoring the mirror for shared classes restartable if
there is an OOM in the middle of restore_unshareable_info. The mirror
field in the classes and CLD link is not cleaned up anymore. The class
isn't marked loaded though so must be loaded again.
Tested with Stefan's test case with hard coded OOM in jvm, so can't add
the test. Also ran all the tests against -client and server with
-Xshare:auto and with -XX:+UseConcMarkSweepGC.
open webrev at http://cr.openjdk.java.net/~coleenp/8028497/
bug link https://bugs.openjdk.java.net/browse/JDK-8028497
More information about the hotspot-dev