Liberica JDK 11.0.10+9 Release Notes

The full version string for this update release is 11.0.10+9. The version number is 11.0.10.

Liberica JDK 11.0.10+9

Liberica is a certified, Java SE 11-compliant distribution of OpenJDK 11 which works on server (Linux x86_64, Linux ARM64, Solaris SPARC, Solaris x64, Windows 64), desktop (Windows 64, Windows 32, Mac, Linux x86_64), and embedded devices (Linux ARM64, Linux ARMv7, including Raspberry Pi 2 & 3 (ARMv6 hardfloat)). It has the following notable additions:

  • Linux x86_64 version contains experimental support for ZGC.
  • Linux x86_64, ARMv8 and ARMv7 distributions include a choice of Client VM, Server VM and Minimal VM.
  • Alpine Linux x86_64 version is build with musl support.
  • Windows x86_64, Windows x86, Mac, Linux x86_64, Linux x86 and Linux ARMv7 distributions contain OpenJFX 11.
  • Linux ARMv7 distribution contains Device IO API compiled for Raspberry Pi.

Please refer to the Oracle JDK 11.0.10 release notes for further information on JDK 11 features. This document further outlines the peculiarities of Liberica distribution as compared to Oracle JDK 11 distribution.

Supported Server and Desktop configurations

Liberica is supported on the following OSes:

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv8)
  • Debian Linux 8, 9 (x86, x86_64, ARMv8)
  • Red Hat, Oracle Linux and CentOS 6.x, 7.x (x86, x86_64, ARMv8)
  • Alpine Linux 3.7+
  • SUSE Linux Enterprise 12, 15 and tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+
  • Solaris 11.1+ (SPARC and x64)
  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (64 and 32 bit)

It is also known to work on other Linux distributions and Windows versions.

Note: The minimum supported Linux kernel version is 2.6.18 and GLIBC version 2.6. LibericaFX works on all supported Ubuntu versions, Red Hat Linux family starting from 7.x and SUSE versions with GTK3 backend.

Supported Embedded configurations

Liberica is tested and certified on Raspberry Pi 2 & 3 running the following OSes:

  • Raspbian OS (armhf)
  • OpenSUSE (armv8)

It is also known to work with Debian (armhf) and Ubuntu (armhf).

Liberica JDK 11 distribution

Liberica JDK 11.0.10 are distributed as .rpm, .zip, .deb and .tar.gz packages. Please select the one which is most appropriate for your purposes.

Liberica 11 introduced all new features supported by OpenJDK 11.

With the introduction of the Jigsaw feature in JDK 9 and Minimal VM it is now possible to create a Runtime that is sufficient to run your application and trim down the size of the Runtime. To generate a Runtime with just the Minimal VM, add --vm=minimal to jlink options.

By default, the Liberica uses Server VM. Server VM and Client VM can be enabled with -server and -client command line options, respectively. In case the deployment requires to minimize the footprint, it may be beneficial to use Minimal VM, which emphasises on a minimal footprint. It has C1 JIT compiler only, Serial GC and no serviceability features.

LibericaFX for the Raspberry Pi

Liberica JDK 11 come with a bundled LibericaFX implementation, which is based on OpenJFX. The following tables lists Java FX modules status of Liberica distribution

  • Java FX Graphics - works.
  • Java FX Controls - works.
  • Java FX Media - does not work.
  • Java FX Webkit - does not work.

The following pipelines are known to work: EGL, SW (direct framebuffer) and GTK. By default, Liberica tries to use the accelerated EGL pipeline, which requires the presence of EGL libraries. If they are not found, the implementation falls back to software rendering.

Use the following command line options to specify the rendering pipeline:

  • -Dprism.order=sw forces the use of software rendering pipeline.
  • -Dprism.order=es2 forces the use of EGL pipeline and hardware acceleration.
  • -Djavafx.platform=gtk if you would like to launch a LibericaFX application using Liberica from X11.

Please refer to the following wiki for more information.

Device IO API for the Raspberry Pi

Liberica JDK 11 comes with a bundled OpenJDK Device I/O (DIO) API implementation module. DIO provides a Java API for accessing Raspberry PI GPIO pins and for communicating with peripheral devices:

  • General Purpose Input/Output (GPIO).
  • Inter-Integrated Circuit Bus (I2C), Serial Peripheral Interface (SPI).
  • Universal Asynchronous Receiver/Transmitter (UART).

Please refer to the following wiki for more information.

Security Baselines

BellSoft Liberica follows the security baselines for Oracle Java SE. Please refer to the Oracle documentation for a list of issues fixed in a given release.

Known Issues

LibericaFX and EGL on Raspbian

As of 2017, the default location of Broadcom and has changed in Raspbian OS. If you'd like to leverage hardware EGL acceleration available from Broadcom video drivers in LibericaFX while running a recent Raspbian OS, run the following command:

cd /opt/vc/lib
sudo ln -s
sudo ln -s

Issues fixed

Issue Description
6722928 Support SSPI as a native GSS-API provider
7185258 [macosx] Deadlock in SunToolKit.realSync()
8152332 [macosx] JFileChooser cannot be serialized on Mac OS X
8161684 [testconf] Add VerifyOops' testing into compiler tiers
8171279 Support X25519 and X448 in TLS
8173361 various crashes in JvmtiExport::post_compiled_method_load
8173658 JvmtiExport::post_class_unload() is broken for non-JavaThread initiators
8181775 JavaFX WebView does not calculate border-radius properly
8191006 hsdis disassembler plugin does not compile with binutils 2.29+
8197981 Missing return statement in __sync_val_compare_and_swap_8
8198334 java/awt/FileDialog/8003399/ fails in headless mode
8200151 Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/
8208279 Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/
8208483 Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/
8208542 Add 4 JNDI tests to com/sun/jndi/dns/ListTests/
8208665 Amend cross-compilation docs with qemu-debootstrap recipe
8210088 ProblemList gc/epsilon/
8210339 Add 10 JNDI tests to com/sun/jndi/dns/FedTests/
8211450 UndetVar::dup is not copying the kind field to the duplicated instance
8212160 JVMTI agent crashes with "assert(_value != 0LL) failed: resolving NULL _value"
8212226 SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows)
8213400 Support choosing group name in keytool keypair generation
8213535 Windows HiDPI html lightweight tooltips are truncated
8213698 Improve devkit creation and add support for linux/ppc64/ppc64le/s390x
8214025 assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2
8214242 compiler/arguments/ fails because of missing UnlockDiagnosticVMOptions
8214787 Zero builds fail with "undefined JavaThread::thread_state()"
8215583 Exclude runtime/handshake/
8216012 Infinite loop in RSA KeyPairGenerator
8216324 GetClassMethods is confused by the presence of default methods in super interfaces
8217429 WebSocket over authenticating proxy fails to send Upgrade headers
8217976 test/jdk/java/net/httpclient/websocket/ fails intermittently
8218021 Have jarsigner preserve posix permission attributes
8218287 jshell tool: input behavior unstable after 12-ea+24 on Windows
8218851 JVM crash in custom classloader stress test, JDK 12 & 13
8220420 Cleanup c1_LinearScan
8222072 JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv
8222286 Fix for JDK-8213419 is broken on s390
8222527 HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy
8222533 jtreg test jdk/internal/platform/cgroup/ fails on SLES12.3 linux ppc64le machine
8224506 [TESTBUG] fails with exitValue = 137
8224555 vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/ failed
8224650 Add tests to support X25519 and X448 in TLS
8225072 Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs
8225329 -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms
8225687 Newly added sspi.cpp in JDK-6722928 still contains some small errors
8227006 [linux] Runtime.availableProcessors execution time increased by factor of 100
8227275 Within native OOM error handling, assertions may hang the process
8227647 [Graal] fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled"
8229495 SIGILL in C2 generated OSR compilation
8230910 libsspi_bridge does not build on Windows 32bit
8231310 Add .jcheck/conf to jfx git repo
8232114 JVM crashed at imjpapi.dll in native code
8234147 Avoid looking up standard charsets in core libraries
8234393 [macos] printing ignores printer tray
8234471 Canvas in webview displayed with wrong scale on Windows
8234863 Increase default value of MaxInlineLevel
8235218 Minimal VM is broken after JDK-8173361
8235456 Minimal VM is broken after JDK-8212160
8235829 graal crashes with test
8236124 Minimal VM slowdebug build failed after JDK-8212160
8236512 PKCS11 Connection closed after Cipher.doFinal and NoPadding
8236944 The legVecZ operand should be limited to zmm0-zmm15 registers
8237186 Fix typo in copyright header of java/io/Reader/
8237499 JFR: Include stack trace in the ThreadStart event
8237512 AArch64: aarch64TestHook leaks a BufferBlob
8237524 AArch64: String.compareTo() may return incorrect result
8237950 C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization
8238579 HttpsURLConnection drops the timeout and hangs forever in read
8239105 Add exception for expiring Digicert root certificates to VerifyCACerts test
8239477 jdk/jfr/jcmd/ fails -XX:+VerifyOops with "verify_oop: rsi: broken oop"
8239497 SEGV in EdgeUtils::field_name_symbol(Edge const&)
8239886 Minimal VM build fails after JDK-8237499
8240499 Enforce whitespace checking for additional source files
8240633 Memory leaks in the implementations of FileChooserUI
8240690 Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
8241234 Unify monitor enter/exit runtime entries.
8241311 Move some charset mapping tests from closed to open
8241797 Add some tests to the problem list
8242029 AArch64: skip G1 array copy pre-barrier if marking not active
8242335 Additional Tests for RSASSA-PSS
8242480 Negative value may be returned by getFreeSwapSpaceSize() in the docker
8242614 cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests
8242846 Bring back test/jdk/tools/jlink/plugins/
8243114 Implement montgomeryintrinsics on Windows
8243290 Improve diagnostic messages for class verification and redefinition failures
8243488 Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket
8243549 sun/security/ssl/CipherSuite/ failed with Unsupported signature algorithm: DSA
8243617 compiler/onSpinWait/ test uses wrong class
8243619 compiler/codecache/ test misses -version
8244142 some hotspot/runtime tests don't check exit code of forked JVM
8244278 Excessive code cache flushes and sweeps
8244282 test/hotspot/jtreg/compiler/intrinsics/ fails with --illegal-access=deny
8244621 [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11
8244819 hsdis does not compile with binutils 2.34+
8245051 c1 is broken if it is compiled by gcc without -fno-lifetime-dse
8245168 jlink should not be treated as a "small" tool
8245400 Upgrade to LittleCMS 2.11
8246381 VM crashes with "Current BasicObjectLock* below than low_mark"
8246434 Threads::print_on_error assumes that the heap has been set up
8246648 issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480
8247201 Print potential pointer value of readable stack memory in hs_err file
8247619 Improve Direct Buffering of Characters
8247763 assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined()
8247867 Upgrade to freetype 2.10.2
8248190 Enable Power10 system and implement new byte-reverse instructions
8248226 TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing
8248347 windows build broken by JDK-8243114
8248532 Every time I change keyboard language at my MacBook, Java crashes
8248552 C2 crashes with SIGFPE due to division by zero
8248596 [TESTBUG] compiler/loopopts/ times out with Graal enabled
8248745 Add jarsigner and keytool tests for restricted algorithms
8248791 sun/util/resources/cldr/ fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
8248845 AArch64: stack corruption after spilling vector register
8249176 Update GlobalSignR6CA test certificates
8249183 JVM crash in "AwtFrame::WmSize" method
8249192 MonitorInfo stores raw oops across safepoints
8249602 C2: assert(cnt == _outcnt) failed: no insertions allowed
8249603 C1: assert(has_error == false) failed: register allocation invalid
8249605 C2: assert(no_dead_loop) failed: dead loop detected
8249607 C2: assert(!had_error) failed: bad dominance
8249608 Vector register used by C2 compiled method corrupted at safepoint
8249672 Include microcode revision in features_string on x86
8249748 gtest silently ignores bad jvm arguments
8249821 Separate libharfbuzz from libfontmanager
8250598 Hyper-V is detected in spite of running on host OS
8250605 Linux x86_32 builds fail after JDK-8249821
8250636 iso8601_time returns incorrect offset part on MacOS
8250665 Wrong translation for the month name of May in ar_JO,LB,SY
8250772 Test com/sun/jndi/ldap/ fails intermittently with javax.naming.ServiceUnavailableException
8250825 C2 crashes with assert(field != __null) failed: missing field
8250894 Provide a configure option to build and run against the platform libharfbuzz
8250928 JFR: Improve hash algorithm for stack traces
8250968 Symlinks attributes not preserved when using jarsigner on zip files
8250984 Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities
8251118 BiasedLocking::preserve_marks should not have a HandleMark
8251189 com/sun/jndi/ldap/ failed due to timeout
8251241 macOS: iconify property doesn't change after minimize when resizable is false
8251257 NMT: jcmd VM.native_memory scale=1 crashes target VM
8251365 Build failure on AIX after 8250636
8251397 NPE on ClassValue.ClassValueMap.cacheArray
8251456 [TESTBUG] compiler/vectorization/ failed OutOfMemoryError
8251458 Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
8251535 Partial peeling at unsigned test adds incorrect loop exit check
8251858 Update to Xcode 11.3.1
8251949 ZGC: Set explicit heap size for compiler/gcbarriers tests
8252060 gstreamer fails to build with gcc 10
8252062 WebKit build fails with recent VS 2019 compiler
8252090 JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)
8252191 Update to gcc 10.2 on Linux
8252415 Bump update version for OpenJDK: jdk-11.0.10
8252470 java/awt/dnd/DisposeFrameOnDragCrash/ fails on Windows
8252497 Incorrect numeric currency code for ROL
8252660 Shenandoah: support manageable SoftMaxHeapSize option
8252679 Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard
8252696 Loop unswitching may cause out of bound array load to be executed
8252754 Hash code calculation of JfrStackTrace is inconsistent
8253219 Epsilon: clean up unnecessary includes
8253224 Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
8253226 Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
8253269 The CheckCommonColors test should provide more info on failure
8253284 Zero OrderAccess barrier mappings are incorrect
8253375 OSX build fails with Xcode 12.0 (12A7209)
8253778 ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
8253791 Issue with useAppleColor check in CSystemColors.m
8254016 Test8237524 fails with -XX:-CompactStrings option
8254081 java/security/cert/PolicyNode/ fails due to an expired certificate
8254100 FX: Update copyright year in docs, readme files to 2021
8254144 Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp
8254166 Zero: return-type warning in zeroInterpreter_zero.cpp
8254177 (tz) Upgrade time-zone data to tzdata2020b
8254185 Fix Code cache sweeper heuristics for JDK 11
8254190 [s390] interpreter misses exception check after calling monitorenter
8254790 SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
8254854 [cgroups v1] Metric limits not properly detected on some join controller combinations
8254982 (tz) Upgrade time-zone data to tzdata2020c
8255050 Add pkcs11/KeyStore/ to Problem list
8255065 Zero: accessor_entry misses the IRIW case
8255226 (tz) Upgrade time-zone data to tzdata2020d
8255269 Unsigned overflow in g1Policy.cpp
8255365 Problem list failing client manual tests
8255457 Shenandoah: cleanup ShenandoahMarkTask
8255466 C2 crashes at ciObject::get_oop() const+0x0
8255550 x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect
8255603 Memory/Performance regression after JDK-8210985
8255760 Shenandoah: match constants style in ShenandoahMarkTask fallback
8255937 Better cleanup for test/jdk/javax/imageio/stream/
8256264 Printed GlyphVector outline with low DPI has bad quality on Windows
8256427 Test com/sun/jndi/dns/ConfigTests/ does not work on AIX
8256452 Integrate missing part of JDK-8232370 to 11u
8256483 [TESTBUG] serviceability/jvmti/GetClassMethods/libOverpassMethods.c fails to compile on gcc 4.4.x
8256557 libharfbuzz fails to link on gcc 4.4.x due to -Wl,-z,defs
8256618 Zero: Linux x86_32 build still fails
8256736 Zero: GTest tests fail with "unsuppported vm variant"
8256809 Annotation processing causes NPE during flow analysis
8257181 s390x builds are very noisy with gc-sections messages
8257242 [macOS] Java app crashes while switching input methods
8257545 SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport
8257641 Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false
8257701 Shenandoah: objArrayKlass metadata is not marked with chunked arrays