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 libEGL.so and libGLESv2.so 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 libbrcmEGL.so libEGL.so
sudo ln -s libbrcmGLESv2.so libGLESv2.so

Issues fixed

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