-
Bug
-
Resolution: Fixed
-
P4
-
11, 17, 21, 25
-
b07
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8362937 | 25.0.1 | Sendao Yan | P4 | Resolved | Fixed | b03 |
JDK-8362508 | 25 | Sendao Yan | P4 | Resolved | Fixed | b33 |
JDK-8365961 | 21.0.9 | Sendao Yan | P4 | Resolved | Fixed | b05 |
JDK-8366236 | 17.0.17 | Sendao Yan | P4 | Resolved | Fixed | master |
Here's are snippets from the log file:
#section:driver
----------messages:(10/296)----------
command: driver Scimark
reason: User specified action: run driver Scimark
started: Wed Sep 06 04:49:53 GMT 2023
Mode: agentvm
Agent id: 2
Timeout signalled after 120 seconds
Timeout information:
--- Timeout information end.
finished: Wed Sep 06 04:54:02 GMT 2023
elapsed time (seconds): 249.457
----------configuration:(14/2060)----------
<snip>
----------System.out:(8/1314)----------
Command line: [/System/Volumes/Data/mesos/work_dir/jib-master/install/jdk-22+14-1018/macosx-aarch64-debug.jdk/jdk-22/fastdebug/bin/java -XX:MaxRAMPercentage=6.25 -Dtest.boot.jdk=/System/Volumes/Data/mesos/work_dir/jib-master/install/jdk/20/36/bundles/macos-aarch64/jdk-20_macos-aarch64_bin.tar.gz/jdk-20.jdk/Contents/Home -Djava.io.tmpdir=/System/Volumes/Data/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S106464/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/33ba4cc1-3d58-4487-974b-277b782488dd/runs/d55d3c34-c8a5-46ce-8b45-6febcf309d7b/testoutput/test-support/jtreg_open_test_hotspot_jtreg_applications_scimark_Scimark_java/tmp -cp /System/Volumes/Data/mesos/work_dir/jib-master/install/gov/nist/math/scimark/2.0/scimark-2.0.zip jnt.scimark2.commandline -large ]
[2023-09-06T04:49:55.994734Z] Gathering output for process 77403
[2023-09-06T04:49:56.007997Z] Waiting for completion for process 77403
[2023-09-06T04:52:56.180065Z] Waiting for completion finished for process 77403
[2023-09-06T04:52:56.181954Z] Waiting for completion for process 77403
[2023-09-06T04:52:56.182042Z] Waiting for completion finished for process 77403
[2023-09-06T04:52:56.200556Z] Waiting for completion for process 77403
[2023-09-06T04:52:56.200623Z] Waiting for completion finished for process 77403
----------System.err:(15/673)----------
stdout: [];
stderr: []
exitValue = 134
java.lang.RuntimeException: Expected to get exit value of [0], exit value is: [134]
at jdk.test.lib.process.OutputAnalyzer.shouldHaveExitValue(OutputAnalyzer.java:490)
at Scimark.main(Scimark.java:55)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
at java.base/java.lang.Thread.run(Thread.java:1570)
JavaTest Message: Test threw exception: java.lang.RuntimeException
JavaTest Message: shutting down test
result: Error. Agent error: java.lang.Exception: Agent 2 timed out with a timeout of 120 seconds; check console log for any additional details
The test timed out and also exited with "exitValue = 134".
I suspect that the "exitValue = 134" is from JTREG aborting
the test after the timeout.
Based on other Scimark.java failures in the bug database,
I'm wondering if this timeout is due to a timeout in getting
something the test needs from artifactory.
The problem is in Scimark. It runs some testing and exits when it takes more than 2 seconds. It doubles the number of iterations for each attempt. However, MacOSX Aarch64 is so fast that it hits 'int' limit and is set to 0 causing an infinite loop.
The fix would be something like:
20:39@lmesnik-mac:~/ws/3rd/scimark$
~>git d
diff --git a/src/main/java/jnt/scimark2/Kernel.java b/src/main/java/jnt/scimark2/Kernel.java
index 2d61b59..042c8c3 100644
--- a/src/main/java/jnt/scimark2/Kernel.java
+++ b/src/main/java/jnt/scimark2/Kernel.java
@@ -54,7 +54,7 @@ public class Kernel {
public static double measureMonteCarlo(double min_time, Random R) {
Stopwatch Q = new Stopwatch();
- int cycles = 1;
+ long cycles = 1;
while (true) {
Q.start();
MonteCarlo.integrate(cycles);
diff --git a/src/main/java/jnt/scimark2/MonteCarlo.java b/src/main/java/jnt/scimark2/MonteCarlo.java
index 3308006..b1a27d3 100644
--- a/src/main/java/jnt/scimark2/MonteCarlo.java
+++ b/src/main/java/jnt/scimark2/MonteCarlo.java
@@ -31,7 +31,7 @@ package jnt.scimark2;
public class MonteCarlo {
final static int SEED = 113;
- public static final double num_flops(int Num_samples) {
+ public static final double num_flops(long Num_samples) {
// 3 flops in x^2+y^2 and 1 flop in random routine
return ((double) Num_samples) * 4.0;
@@ -39,13 +39,13 @@ public class MonteCarlo {
}
- public static final double integrate(int Num_samples) {
+ public static final double integrate(long Num_samples) {
Random R = new Random(SEED);
int under_curve = 0;
- for (int count = 0; count < Num_samples; count++) {
+ for (long count = 0; count < Num_samples; count++) {
double x = R.nextDouble();
double y = R.nextDouble();
The main problem is that Scimark is not maintained and it is unclear where to fix it. Might be the best would be to remove it.
- backported by
-
JDK-8362508 Delete applications/scimark/Scimark.java test
-
- Resolved
-
-
JDK-8362937 Delete applications/scimark/Scimark.java test
-
- Resolved
-
-
JDK-8365961 Delete applications/scimark/Scimark.java test
-
- Resolved
-
-
JDK-8366236 Delete applications/scimark/Scimark.java test
-
- Resolved
-
- links to
-
Commit(jdk25) openjdk/jdk/f1f6452e
-
Commit(master) openjdk/jdk17u-dev/ce191028
-
Commit(master) openjdk/jdk21u-dev/82601638
-
Commit(master) openjdk/jdk/a5c9bc70
-
Review(jdk25) openjdk/jdk/26338
-
Review(master) openjdk/jdk11u-dev/3080
-
Review(master) openjdk/jdk17u-dev/3868
-
Review(master) openjdk/jdk21u-dev/2044
-
Review(master) openjdk/jdk/25316