RFR (xs): unloading archived shared class caused crash
Ioi Lam
ioi.lam at oracle.com
Wed Jan 4 23:31:31 UTC 2017
Hi,
Please review this small fix:
https://bugs.openjdk.java.net/browse/JDK-8170959
http://cr.openjdk.java.net/~iklam/jdk9/8170959-archived-shared-class-unloading.v01/
Please note that this is a closed bug and it's related to unloading
shared classes loaded by custom class loaders. The test case is
in the closed repo.
The bug happened with the following call stack
"assert(!this->is_shared()) failed"
in InstanceKlass::release_C_heap_structures ()
in InstanceKlass::release_C_heap_structures ()
in ClassLoaderData::classes_do
(f=<InstanceKlass::release_C_heap_structures(InstanceKlass*)>)
in ClassLoaderData::~ClassLoaderData ()
in ClassLoaderDataGraph::purge ()
in G1CollectedHeap::do_full_collection ()
The fix is to avoid doing the clean up if the unloaded class is shared.
Proper clean up is deferred to JDK 10 (bug JDK-8140287).
Thanks
- Ioi
More information about the hotspot-runtime-dev
mailing list