32-bit x86 jvm gives fails on Java Concurrency Stress tests. One minor issue is resolved with JDK-8223472, but it is not the only problem.
jcstress tests-all packet used (60MB, can't attach to the bug. how to build: hg clone http://hg.openjdk.java.net/code-tools/jcstress/ jcstress ; cd jcstress ; mvn clean install)
test run: java -jar tests-all/target/jcstress.jar
Typical jcstress mesage:
[OK] o.o.j.t.acqrel.varHandles.fields.opaque.CharStringTest
(ETA: 3d+08:05:31) (Rate: 6.87E+06 samples/sec) (Tests: 2 of 11559) (Forks: 2 of 69354) (Iterations: 6 of 416124; 6 passed, 0 failed, 0 soft errs, 0 hard errs)
[FAILED] o.o.j.t.acqrel.varHandles.fields.plain.FloatLongTest
(fork: #1, iteration #1, JVM args: [-Xint])
Observed state Occurrences Expectation Interpretation
-1, -1, 0.0 77 ACCEPTABLE Default value for guard, allowed to see anything.
-1, -1, 2.3509528E-38 63,913 ACCEPTABLE Observing the value for guard, allowed to see latest value.
-1, 0, 0.0 0 ACCEPTABLE Default value for guard, allowed to see anything.
-1, 0, 2.3509528E-38 0 ACCEPTABLE Seeing previous writes, allowed with racy guard.
0, -1, 0.0 27,889 ACCEPTABLE Default value for guard, allowed to see anything.
0, -1, 2.3509528E-38 1,735 ACCEPTABLE Observing the value for guard, allowed to see latest value.
0, 0, 0.0 2,905 ACCEPTABLE Default value for guard, allowed to see anything.
0, 0, 2.3509528E-38 0 ACCEPTABLE Seeing previous writes, allowed with racy guard.
4294967295, -1, 2.3509528E-38 1 FORBIDDEN No default case provided, assume FORBIDDEN
Failed tests list attached (not a full run, just 24h passed).
It is not a new issue. Same fails can be reproduced on jdk8/jdk10 from different vendors.
jcstress tests-all packet used (60MB, can't attach to the bug. how to build: hg clone http://hg.openjdk.java.net/code-tools/jcstress/ jcstress ; cd jcstress ; mvn clean install)
test run: java -jar tests-all/target/jcstress.jar
Typical jcstress mesage:
[OK] o.o.j.t.acqrel.varHandles.fields.opaque.CharStringTest
(ETA: 3d+08:05:31) (Rate: 6.87E+06 samples/sec) (Tests: 2 of 11559) (Forks: 2 of 69354) (Iterations: 6 of 416124; 6 passed, 0 failed, 0 soft errs, 0 hard errs)
[FAILED] o.o.j.t.acqrel.varHandles.fields.plain.FloatLongTest
(fork: #1, iteration #1, JVM args: [-Xint])
Observed state Occurrences Expectation Interpretation
-1, -1, 0.0 77 ACCEPTABLE Default value for guard, allowed to see anything.
-1, -1, 2.3509528E-38 63,913 ACCEPTABLE Observing the value for guard, allowed to see latest value.
-1, 0, 0.0 0 ACCEPTABLE Default value for guard, allowed to see anything.
-1, 0, 2.3509528E-38 0 ACCEPTABLE Seeing previous writes, allowed with racy guard.
0, -1, 0.0 27,889 ACCEPTABLE Default value for guard, allowed to see anything.
0, -1, 2.3509528E-38 1,735 ACCEPTABLE Observing the value for guard, allowed to see latest value.
0, 0, 0.0 2,905 ACCEPTABLE Default value for guard, allowed to see anything.
0, 0, 2.3509528E-38 0 ACCEPTABLE Seeing previous writes, allowed with racy guard.
4294967295, -1, 2.3509528E-38 1 FORBIDDEN No default case provided, assume FORBIDDEN
Failed tests list attached (not a full run, just 24h passed).
It is not a new issue. Same fails can be reproduced on jdk8/jdk10 from different vendors.
- relates to
-
CODETOOLS-7902465 Many jcstress tests wrongly assume long/double access atomicity
-
- Resolved
-
-
JDK-8223472 volatile long field corruption on x86_32
-
- Resolved
-