RFR: 8348800: Many serviceability/sa tests failing after JDK-8348239
Chris Plummer
cjplummer at openjdk.org
Tue Jan 28 19:21:19 UTC 2025
DeoptimizeObjectsALotThread was being unconditionally added to the mapping table:
virtualConstructor.addMapping("DeoptimizeObjectsALotThread", DeoptimizeObjectsALotThread.class);
But is conditionally included in VMStructs:
DEBUG_ONLY(COMPILER2_OR_JVMCI_PRESENT( \
declare_type(DeoptimizeObjectsALotThread, JavaThread))) \
There is code that iterates over all the mapping table entries and calls db.lookupType() on each. This results in a RuntimeException if the type is not present in the type database:
Caused by: java.lang.RuntimeException: No type named "DeoptimizeObjectsALotThread" in database
The fix is to not add it to the mapping table if it is not present in the database.
Testing is in progresses. I did test locally with a debug build using TEST_VM_OPTS=-XX:+DeoptimizeObjectsALot to make sure the original DeoptimizeObjectsALotThread issue is still fixed, and then tested a release build without TEST_VM_OPTS=-XX:+DeoptimizeObjectsALot to make sure this new issue did not reproduce.
-------------
Commit messages:
- fix DeoptimizeObjectsALotThread support for release builds
Changes: https://git.openjdk.org/jdk/pull/23339/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23339&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8348800
Stats: 7 lines in 1 file changed: 6 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/23339.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23339/head:pull/23339
PR: https://git.openjdk.org/jdk/pull/23339
More information about the serviceability-dev
mailing list