Temurin-build: Shenandoah GC not available in 11.0.9

Created on 24 Oct 2020  路  10Comments  路  Source: adoptium/temurin-build

Platform: Linux

Architecture: x86_64

Please describe the issue that you are having with our binaries and if possible how to recreate it.

The AdoptOpenJDK 11.0.9 build doesn't appear to include Shenandoah GC.
Is it supposed to include the GC?

According to OpenJDK wiki it should be in mainline builds:

_In mainline OpenJDK 11u builds since 11.0.9._

Here's what happens when trying to enable the GC on v11.0.9:

~ % docker run -it openjdk:11-jre-buster

root@6e987dc384f8:/# java -version
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment 18.9 (build 11.0.9+11)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11, mixed mode)

root@6e987dc384f8:/# java -XX:+UseShenandoahGC -Xlog:gc -version
Unrecognized VM option 'UseShenandoahGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
bug

Most helpful comment

Thank you for reporting this @marko-asplund 馃

Thank you for your work for the AdoptOpenJDK project! 馃檱 馃憤

All 10 comments

It seems to be available in the Zulu OpenJDK 11.0.9+11 build:

~ % java -XX:+UseShenandoahGC -Xlog:gc -version
[0.005s][info][gc] Heuristics ergonomically sets -XX:+ExplicitGCInvokesConcurrent
[0.005s][info][gc] Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent
[0.005s][info][gc] Using Shenandoah
openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment Zulu11.43+21-CA (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM Zulu11.43+21-CA (build 11.0.9+11-LTS, mixed mode)
[0.052s][info][gc] Cancelling GC: Stopping VM

The AdoptOpenJDK 11.0.9 build doesn't appear to include Shenandoah GC.

Shit.

Is it supposed to include the GC?

Yes, see https://github.com/AdoptOpenJDK/openjdk-build/pull/2125.

Without any Docker in between:

jdk-11.0.9+11/bin/java -XX:+UseShenandoahGC -Xlog:gc -version
Unrecognized VM option 'UseShenandoahGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
root@bb000aee1f7d:/# jdk-11.0.9+11/bin/java -version
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)

Thank you for reporting this @marko-asplund 馃

Thank you for reporting this @marko-asplund 馃

Thank you for your work for the AdoptOpenJDK project! 馃檱 馃憤

Updated bulids in progress and they seem to work:

[sxa@sainz bin]$ ./java -XX:+UseShenandoahGC -Xlog:gc -version
[0.014s][info][gc] Heuristics ergonomically sets -XX:+ExplicitGCInvokesConcurrent
[0.014s][info][gc] Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent
[0.017s][info][gc] Using Shenandoah
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)
[0.112s][info][gc] Cancelling GC: Stopping VM
[sxa@sainz bin]$ 

Shenandoah-enabled builds are up on the web site as jdk-11.0.9+11.1 for the relevant platforms

Awesome - thanks! 馃殌 馃檶 馃憤

@sxa Thanks again! 馃憤

Btw, are you guys also releasing the official adoptopenjdk docker images?
It would be great to get a adoptopenjdk:11-jre-hotspot variant with 11.0.9 and Shenandoah.

We make those. Always takes more time because it requires collaboration with outside orgs. PR is there: https://github.com/docker-library/official-images/pull/8953

Yep - there was a slight delay as some modifications had to be made to handle some docker platforms having a .1 release and not others, so they will definitely be made available!

Was this page helpful?
0 / 5 - 0 ratings