On Wed, 21 Jan 2026 08:32:59 GMT, Guanqiang Han <[email protected]> wrote:

> Please review this change. Thanks!
> 
> **Description:**
> 
> VM crashes during startup on x86 when running with -XX:+UseAESCTRIntrinsics 
> -XX:-UseAES. In this configuration, UseAESCTRIntrinsics may remain enabled 
> while UseAES is explicitly disabled, and the VM generates AES-CTR stubs, 
> hitting an assert(UseAES) in generate_counterMode_AESCrypt_Parallel().
> 
> **Fix:**
> 
> Update x86 flag initialization to enforce the dependency between 
> UseAESCTRIntrinsics and UseAES. When UseAES is disabled, explicitly disable 
> UseAESCTRIntrinsics (with a warning when it was set on the command line), 
> aligning behavior with the existing UseAES/UseAESIntrinsics gating and 
> avoiding stub generation with inconsistent flag states.
> 
> **Test:**
> 
> GHA

Nice work!  Just a couple of suggestions/comments.

src/hotspot/cpu/x86/vm_version_x86.cpp line 1141:

> 1139:       FLAG_SET_DEFAULT(UseAESIntrinsics, false);
> 1140:       if (UseAESCTRIntrinsics && !FLAG_IS_DEFAULT(UseAESCTRIntrinsics)) 
> {
> 1141:         warning("AES_CTR intrinsics require UseAES flag to be enabled. 
> Intrinsics will be disabled.");

I propose the following changes:
OLD
"Intrinsics will be disabled."
NEW
"AES_CTR intrinsics will be disabled."

test/hotspot/jtreg/compiler/cpuflags/TestUseAESCTRIntrinsicsWithUseAESDisabled.java
 line 28:

> 26:  * @bug 8374516
> 27:  * @summary Regression test for -XX:+UseAESCTRIntrinsics -XX:-UseAES crash
> 28:  * @requires os.arch=="amd64" | os.arch=="x86_64"

These are the only two architectures that exhibit this bug?
I was able to reproduce the problem with this test case on my x86_64 desktop 
and confirmed that the fix did indeed resolve the problem.

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

PR Review: https://git.openjdk.org/jdk/pull/29338#pullrequestreview-3743400759
PR Review Comment: https://git.openjdk.org/jdk/pull/29338#discussion_r2757536259
PR Review Comment: https://git.openjdk.org/jdk/pull/29338#discussion_r2757539553

Reply via email to