-
Bug
-
Resolution: Fixed
-
P2
-
11, 14, 15
-
b24
-
ppc
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8245894 | 14u-cpu | Martin Doerr | P2 | Resolved | Fixed | master |
JDK-8245715 | 14.0.2 | Martin Doerr | P2 | Resolved | Fixed | b08 |
JDK-8245716 | 11.0.8 | Martin Doerr | P2 | Resolved | Fixed | b05 |
Preliminary synopsis was: "PPC64 fails jcstress Unsafe (?) memory ordering tests due to C2 (?) bug"
$ wget https://builds.shipilev.net/jcstress/jcstress-latest.jar
$ curl https://builds.shipilev.net/openjdk-jdk/openjdk-jdk-latest-linux-ppc64le-fastdebug.tar.xz | tar xJf -
$ jdk/bin/java -jar jcstress-latest.jar -t varHandles.byteBuffer.direct.*.acqrel.IntBooleanTest -m quick
...
[FAILED] o.o.j.t.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntBooleanTest
(JVM args: [-XX:-TieredCompilation])
Observed state Occurrences Expectation Interpretation
false, false, -1 210 FORBIDDEN Seeing previous writes, forbidden with proper guard.
false, false, 0 156,172 ACCEPTABLE Default value for guard, allowed to see anything.
false, true, -1 350 ACCEPTABLE Observing the value for guard, allowed to see latest value.
false, true, 0 1,331 ACCEPTABLE Default value for guard, allowed to see anything.
true, false, -1 0 FORBIDDEN Seeing previous writes, forbidden with proper guard.
true, false, 0 0 ACCEPTABLE Default value for guard, allowed to see anything.
true, true, -1 105,163 ACCEPTABLE Observing the value for guard, allowed to see latest value.
true, true, 0 337 ACCEPTABLE Default value for guard, allowed to see anything.
Seems to only happen with VarHandles bytebuffer view tests, only with C2 enabled, and maybe only with big-endian views on ppc64le machine. Or maybe we are just "lucky".
$ wget https://builds.shipilev.net/jcstress/jcstress-latest.jar
$ curl https://builds.shipilev.net/openjdk-jdk/openjdk-jdk-latest-linux-ppc64le-fastdebug.tar.xz | tar xJf -
$ jdk/bin/java -jar jcstress-latest.jar -t varHandles.byteBuffer.direct.*.acqrel.IntBooleanTest -m quick
...
[FAILED] o.o.j.t.acqrel.varHandles.byteBuffer.direct.big.acqrel.IntBooleanTest
(JVM args: [-XX:-TieredCompilation])
Observed state Occurrences Expectation Interpretation
false, false, -1 210 FORBIDDEN Seeing previous writes, forbidden with proper guard.
false, false, 0 156,172 ACCEPTABLE Default value for guard, allowed to see anything.
false, true, -1 350 ACCEPTABLE Observing the value for guard, allowed to see latest value.
false, true, 0 1,331 ACCEPTABLE Default value for guard, allowed to see anything.
true, false, -1 0 FORBIDDEN Seeing previous writes, forbidden with proper guard.
true, false, 0 0 ACCEPTABLE Default value for guard, allowed to see anything.
true, true, -1 105,163 ACCEPTABLE Observing the value for guard, allowed to see latest value.
true, true, 0 337 ACCEPTABLE Default value for guard, allowed to see anything.
Seems to only happen with VarHandles bytebuffer view tests, only with C2 enabled, and maybe only with big-endian views on ppc64le machine. Or maybe we are just "lucky".
- backported by
-
JDK-8245715 [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)
- Resolved
-
JDK-8245716 [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)
- Resolved
-
JDK-8245894 [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)
- Resolved
- relates to
-
JDK-8179527 PPC64: intrinsic code for reverseBytes() with load/store
- Resolved