RFR: 8348800: Many serviceability/sa tests failing after JDK-8348239 [v2]

Chris Plummer cjplummer at openjdk.org
Tue Jan 28 20:14:05 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.

Chris Plummer has updated the pull request incrementally with one additional commit since the last revision:

  use lookupType() api that does not throw an exception.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23339/files
  - new: https://git.openjdk.org/jdk/pull/23339/files/10e03d38..561cd45a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23339&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23339&range=00-01

  Stats: 3 lines in 1 file changed: 0 ins; 2 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