[jdk11u-dev] RFR: 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Paul Hohensee
phh at openjdk.java.net
Thu Nov 4 22:03:25 UTC 2021
On Thu, 4 Nov 2021 16:32:16 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
> Backport for parity with Oracle 11.0.15.
>
> The original patch applies cleanly, but some of CDS tests fail due to following new assertion in `ClassLoaderData::loaded_classes_do()`
>
> ` // To call this, one must have the MultiArray_lock held, but the _klasses list still has lock free reads.
> assert_locked_or_safepoint(MultiArray_lock);
> `
> The solution is to take `MultiArray_lock` in `MetaspaceShared::link_and_cleanup_shared_classes()` method
>
> Test:
> - [x] tier1
I'd add the comment from JvmtiGetLoadedClasses::getLoadedClasses() before the added MultiArray_lock in metaspaceShared.cpp, vis
// To get a consistent list of classes we need MultiArray_lock to ensure
// array classes aren't created.
Otherwise, lgtm.
-------------
PR: https://git.openjdk.java.net/jdk11u-dev/pull/584
More information about the jdk-updates-dev
mailing list