Shenandoah JDK 8 backport crashes when running Cassandra

Aleksey Shipilev shade at redhat.com
Tue Feb 25 18:56:06 UTC 2020


On 2/5/20 3:43 PM, Aleksey Shipilev wrote:
> How reproducible is this? Are there specific steps to reproduce?

Follow-up:

Amir had graciously provided us the minimized example that crashes after about a minute of run.
While working on this, we discovered a few interesting minor, but unrelated upstream bugs, which
were requested for upstream 8u backports, sh/jdk8 would pick them up eventually.

While digging through the generated code, we discovered weird interaction with Unsafe methods. To
level out the field, we did a few missing backports in related areas ahead of other work. That did
not help directly, but helped our sanity.

In the end, we have minimized it to C2 compilation problem: the issue was reproducible with
-XX:ShenandoahGCMode=passive -XX:+ShenandoahLoadRefBarrier -XX:-TieredCompilation, and it failed
either in C2- or C1-generated code. The root cause seems to be C2 optimizer compiling some code
incorrectly. We have discovered the issue there recently, fixed it in 14, but it was mistakenly
omitted from the backporting roll. Once we did backport it to 8u and 11u:
  https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-February/011511.html

...the crash reproducer stopped crashing. At least 200+ runs passed without problems, whereas it
failed at about 5-th run before this fix.

If you are running sh/jdk8 nigthlies, then b574 onwards has it:

$ curl
https://builds.shipilev.net/openjdk-shenandoah-jdk8/openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz
| tar xJf -

$ j2sdk-image/bin/java -version
openjdk version "1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8"
OpenJDK Runtime Environment (build 1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8-b574-20200225)
OpenJDK 64-Bit Server VM (build 25.71-b574-20200225, mixed mode)

$ grep 8235636 j2sdk-image/bom-changesets-hotspot.log
summary:     [backport] 8235636: gc/shenandoah/compiler/TestUnsafeOffheapSwap.java fails after
JDK-8226411

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list