[jdk11u-dev] RFR: 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"

Zhengyu Gu zgu at openjdk.java.net
Thu Nov 4 16:39:25 UTC 2021


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

-------------

Commit messages:
 - Acquire MultiArray_lock in MetaspaceShared::link_and_cleanup_shared_classes
 - Backport 172aed1a2d75756b140cb723133ac5fb67f7745e

Changes: https://git.openjdk.java.net/jdk11u-dev/pull/584/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk11u-dev&pr=584&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8274338
  Stats: 7 lines in 3 files changed: 7 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk11u-dev/pull/584.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk11u-dev pull/584/head:pull/584

PR: https://git.openjdk.java.net/jdk11u-dev/pull/584


More information about the jdk-updates-dev mailing list