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

Leonid Mesnik lmesnik at openjdk.org
Tue Jan 28 20:56:50 UTC 2025


On Tue, 28 Jan 2025 20:14:05 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> 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.

Marked as reviewed by lmesnik (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/23339#pullrequestreview-2579393803


More information about the serviceability-dev mailing list