RFR: 8310874: Runthese30m crashes with klass should be in the placeholders during verification
Coleen Phillimore
coleenp at openjdk.org
Thu Sep 14 19:06:54 UTC 2023
For non-parallel capable class loaders, the class is not put in the placeholders table, so a verification at the wrong time will hit this assert. This change removes the invalid assert.
While studying this code, we also noticed that if an error occurs during class loading after the klass is put in the LoaderConstraints table but before adding to the dictionary, we weren't removing the klass from the LoaderConstraints table. This change also fixes this.
Tested with inserting a LoaderConstraintTable::verify while running jck tests. Also tested with failure insertion after the addClass() call to throw OutOfMemoryError. Also tested with tier1-4.
-------------
Commit messages:
- Remove klass from loader constraint table if an error occurs during loading.
- 8310874: Runthese30m crashes with klass should be in the placeholders during verification
Changes: https://git.openjdk.org/jdk/pull/15752/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15752&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8310874
Stats: 31 lines in 3 files changed: 17 ins; 11 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/15752.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15752/head:pull/15752
PR: https://git.openjdk.org/jdk/pull/15752
More information about the hotspot-runtime-dev
mailing list