-
Bug
-
Resolution: Fixed
-
P4
-
22
-
b22
-
x86_64
-
linux
The following test failed in my jdk-22+20 stress testing run:
compiler/c2/irTests/TestPhiDuplicatedConversion.java
Here's a snippet from one of the slowdebug log files:
----------System.err:(53/5398)*----------
Command Line:
/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/images/jdk/bin/java -DReproduce=true -cp /work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/classes/0/compiler/c2/irTests/TestPhiDuplicatedConversion.d:/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/open/test/hotspot/jtreg/compiler/c2/irTests:/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/classes/0/test/lib:/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/classes/0:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/jtreg.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/junit-platform-console-standalone-1.9.2.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/testng-7.3.0.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/jcommander-1.82.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/guice-5.1.0.jar -Djava.library.path=/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/images/test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=1.5625 -Dtest.boot.jdk=/work/local/jib-dcubed/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/tmp -Dir.framework.server.port=45833 -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:CompilerDirectivesFile=test-vm-compile-commands-pid-3094480.log -XX:CompilerDirectivesLimit=141 -XX:-OmitStackTraceInFastThrow -DShouldDoIRVerification=true -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.c2.irTests.TestPhiDuplicatedConversion
One or more @IR rules failed:
Failed IR Rules (2) of Methods (2)
----------------------------------
1) Method "public static short compiler.c2.irTests.TestPhiDuplicatedConversion.float2HalfFloat(boolean,float,float)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"avx", "true", "asimd", "true"}, counts={"_#CONV#_", "1"}, applyIfPlatform={}, applyIfPlatformOr={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(Conv.*)+(\\s){2}===.*)"
- Failed comparison: [found] 0 = 1 [given]
- No nodes matched!
2) Method "public static float compiler.c2.irTests.TestPhiDuplicatedConversion.halfFloat2Float(boolean,short,short)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"avx", "true", "asimd", "true"}, counts={"_#CONV#_", "1"}, applyIfPlatform={}, applyIfPlatformOr={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(Conv.*)+(\\s){2}===.*)"
- Failed comparison: [found] 0 = 1 [given]
- No nodes matched!
My jdk-22+20 stress testing run had a total of 6 failures out of 9
executions of the test. The failed the same way in both fastdebug
and slowdebug configs and the test passed in the release config.
compiler/c2/irTests/TestPhiDuplicatedConversion.java
Here's a snippet from one of the slowdebug log files:
----------System.err:(53/5398)*----------
Command Line:
/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/images/jdk/bin/java -DReproduce=true -cp /work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/classes/0/compiler/c2/irTests/TestPhiDuplicatedConversion.d:/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/open/test/hotspot/jtreg/compiler/c2/irTests:/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/classes/0/test/lib:/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/classes/0:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/jtreg.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/junit-platform-console-standalone-1.9.2.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/testng-7.3.0.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/jcommander-1.82.jar:/work/local/jib-dcubed/install/jtreg/7.3.1/1/bundles/jtreg-7.3.1+1.zip/jtreg/lib/guice-5.1.0.jar -Djava.library.path=/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/images/test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=1.5625 -Dtest.boot.jdk=/work/local/jib-dcubed/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/work/shared/bug_hunt/thread_SMR_stress/jdk22_exp.git/build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_open_test_hotspot_jtreg_tier1/tmp -Dir.framework.server.port=45833 -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:CompilerDirectivesFile=test-vm-compile-commands-pid-3094480.log -XX:CompilerDirectivesLimit=141 -XX:-OmitStackTraceInFastThrow -DShouldDoIRVerification=true -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.c2.irTests.TestPhiDuplicatedConversion
One or more @IR rules failed:
Failed IR Rules (2) of Methods (2)
----------------------------------
1) Method "public static short compiler.c2.irTests.TestPhiDuplicatedConversion.float2HalfFloat(boolean,float,float)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"avx", "true", "asimd", "true"}, counts={"_#CONV#_", "1"}, applyIfPlatform={}, applyIfPlatformOr={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(Conv.*)+(\\s){2}===.*)"
- Failed comparison: [found] 0 = 1 [given]
- No nodes matched!
2) Method "public static float compiler.c2.irTests.TestPhiDuplicatedConversion.halfFloat2Float(boolean,short,short)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"avx", "true", "asimd", "true"}, counts={"_#CONV#_", "1"}, applyIfPlatform={}, applyIfPlatformOr={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(Conv.*)+(\\s){2}===.*)"
- Failed comparison: [found] 0 = 1 [given]
- No nodes matched!
My jdk-22+20 stress testing run had a total of 6 failures out of 9
executions of the test. The failed the same way in both fastdebug
and slowdebug configs and the test passed in the release config.
- relates to
-
JDK-8316918 Optimize conversions duplicated across phi nodes
- Resolved