RFR: 8374516: -version asserts with "-XX:+UseAESCTRIntrinsics -XX:-UseAES": "need AES instructions and misaligned SSE support" in generate_counterMode_AESCrypt_Parallel()
Shawn M Emery
duke at openjdk.org
Tue Feb 3 07:10:02 UTC 2026
On Wed, 21 Jan 2026 08:32:59 GMT, Guanqiang Han <ghan at openjdk.org> 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
More information about the hotspot-dev
mailing list