-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: hotspot
-
b21
Reproduced it like this:
/home/empeter/Documents/oracle/jtreg/bin/jtreg -va -s -jdk:/home/empeter/Documents/oracle/jdk-fork4/build/linux-x64-debug/jdk -javaoptions:"-Djdk.test.lib.random.seed=5693299018761777710 -DVerbose=true -DCompileFrameworkVerbose=true" -J-Djavatest.maxOutputSize=10000000 /home/empeter/Documents/oracle/jdk-fork4/open/test/hotspot/jtreg/testlibrary_tests/template_framework/examples/TestExpressions.java
It crashes with:
Test Failures (1)
-----------------
Base Test: @Test primitiveConTest_185:
compiler.lib.ir_framework.shared.TestRunException: There was an error while invoking @Test method public static void p.xyz.InnerTest.primitiveConTest_185(). Target: null. Arguments: <void>
at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:84)
at compiler.lib.ir_framework.test.BaseTest.invokeTest(BaseTest.java:71)
at compiler.lib.ir_framework.test.AbstractTest.run(AbstractTest.java:100)
at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:865)
at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:255)
at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:168)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:80)
... 5 more
Caused by: java.lang.ArithmeticException: / by zero
at p.xyz.InnerTest.primitiveConTest_185_compiled(InnerTest.java:1001)
at p.xyz.InnerTest.primitiveConTest_185(InnerTest.java:994)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 7 more
The reason is that we generated a test like this:
public static int primitiveConTest_185_compiled() {
return (989451435 % 0);
}
We generate the test with random constants, and so a zero can rarely appear. And we could know that some Expressions get exceptions, if we looked at the Expression.info, but this test here does not do that.
/home/empeter/Documents/oracle/jtreg/bin/jtreg -va -s -jdk:/home/empeter/Documents/oracle/jdk-fork4/build/linux-x64-debug/jdk -javaoptions:"-Djdk.test.lib.random.seed=5693299018761777710 -DVerbose=true -DCompileFrameworkVerbose=true" -J-Djavatest.maxOutputSize=10000000 /home/empeter/Documents/oracle/jdk-fork4/open/test/hotspot/jtreg/testlibrary_tests/template_framework/examples/TestExpressions.java
It crashes with:
Test Failures (1)
-----------------
Base Test: @Test primitiveConTest_185:
compiler.lib.ir_framework.shared.TestRunException: There was an error while invoking @Test method public static void p.xyz.InnerTest.primitiveConTest_185(). Target: null. Arguments: <void>
at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:84)
at compiler.lib.ir_framework.test.BaseTest.invokeTest(BaseTest.java:71)
at compiler.lib.ir_framework.test.AbstractTest.run(AbstractTest.java:100)
at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:865)
at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:255)
at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:168)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at compiler.lib.ir_framework.test.BaseTest.invokeTestMethod(BaseTest.java:80)
... 5 more
Caused by: java.lang.ArithmeticException: / by zero
at p.xyz.InnerTest.primitiveConTest_185_compiled(InnerTest.java:1001)
at p.xyz.InnerTest.primitiveConTest_185(InnerTest.java:994)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 7 more
The reason is that we generated a test like this:
public static int primitiveConTest_185_compiled() {
return (989451435 % 0);
}
We generate the test with random constants, and so a zero can rarely appear. And we could know that some Expressions get exceptions, if we looked at the Expression.info, but this test here does not do that.
- caused by
-
JDK-8359412 Template-Framework Library: Operations and Expressions
-
- Resolved
-
- links to
-
Commit(master)
openjdk/jdk/5dfe115c
-
Review(master)
openjdk/jdk/27824