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.
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!
Most helpful comment
Thank you for your work for the AdoptOpenJDK project! 馃檱 馃憤