Liberica JDK 11.0.15+10 Release Notes

The full version string for this update release is 11.0.15+10. The version number is 11.

Liberica JDK 11.0.15+10

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, Windows ARMv8, 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.15 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.15 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
JDK-8281089 JavaFX built with VS2019 and jlinked into JDK 11.x fails to start
JDK-8280489 Change JavaFX release version in jfx11u to 11.0.15
JDK-8278260 JavaFX shared libraries not stripped on Linux or macOS
JDK-8277457 AccessControlException: access denied ("" "getCookieHandler")
JDK-8265399 Update to Visual Studio 2019 version 16.9.3
JDK-8242544 CMD+ENTER key event crashes the application when invoked on dialog
JDK-8242505 Some WebKit tests might fail because Microsoft libraries are not loaded
JDK-8223377 JavaFX can crash due to loading the wrong native libraries if system libraries are installed
JDK-8203463 [Accessibility, Narrator] NPE in TableView
JDK-8197991 Selecting many items in a TableView is very slow
JDK-8282099 Cherry-pick WebKit 613.1 stabilization fixes (2)
JDK-8281711 Cherry-pick WebKit 613.1 stabilization fixes
JDK-8281459 WebKit 613.1 build broken on M1
JDK-8278980 Update WebKit to 613.1
JDK-8274221 More definite BER encodings
JDK-8272261 Improve JFR recording file processing
JDK-8272255 Completely handle MIDI files
JDK-8284920 Incorrect Token type causes XPath expression to return empty result
JDK-8284548 Unexpected StringIndexOutOfBoundsException can occur for invalid XPath expressions after JDK-8270504
JDK-8282397 createTempFile method of is failing when called with suffix of spaces character
JDK-8282300 Throws NamingException instead of InvalidNameException after JDK-8278972
JDK-8281388 Change wrapping of EncryptedPrivateKeyInfo
JDK-8278972 Improve URL supports
JDK-8278805 Enhance BMP image loading
JDK-8278798 Improve supported intrinsic
JDK-8278449 Improve keychain support
JDK-8278356 Improve file creation
JDK-8277672 Better invocation handler handling
JDK-8277227 Better identification of OIDs
JDK-8275151 Improved Object Identification
JDK-8272594 Better record of recordings
JDK-8270504 Better Xpath expression handling
JDK-8269938 Enhance XML processing passes redux
JDK-8283778 11u GHA: Fix GCC 9 ubuntu package names
JDK-8283018 11u GHA: Update GCC 9 minor versions
JDK-8275082 Update XML Security for Java to 2.3.0
JDK-8282761 XPathFactoryImpl remove setProperty and getProperty methods
JDK-8283270 [11u] broken JRT_ENTRY_NO_ASYNC after Backport of JDK-8253795
JDK-8275703 System.loadLibrary fails on Big Sur for libraries hidden from filesystem
JDK-8277795 ldap connection timeout not honoured under contention
JDK-8276141 XPathFactory set/getProperty method
JDK-8255410 Add ChaCha20 and Poly1305 support to SunPKCS11 provider
JDK-8211333 AArch64: Fix another build failure after JDK-8211029
JDK-8279669 test/jdk/com/sun/jdi/ uses wrong condition
JDK-8261107 ArrayIndexOutOfBoundsException in the ICC_Profile.getInstance(InputStream)
JDK-8282372 [11] build issue on MacOS/aarch64 12.2.1 using Xcode 13.1: call to 'log2_intptr' is ambiguous
JDK-8214004 Missing space between compiler thread name and task info in hs_err
JDK-8250750 JDK-8247515 fix for OSX pc_to_symbol() lookup fails with some symbols
JDK-8277488 Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
JDK-8247515 OSX pc_to_symbol() lookup does not work with core files
JDK-8254085 javax/swing/text/Caret/ failed with "RuntimeException: Wrong caret position"
JDK-8247272 SA ELF file support has never worked for 64-bit causing address to symbol name mapping to fail
JDK-8233986 ProblemList javax/swing/plaf/basic/BasicTextUI/8001470/ for windows-x64
JDK-8274524 SSLSocket.close() hangs if it is called during the ssl handshake
JDK-8255239 The timezone of the hs_err_pid log file is corrupted in Japanese locale
JDK-8272541 Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
JDK-8254072 AArch64: Get rid of --disable-warnings-as-errors on Windows+ARM64 build
JDK-8262894 [macos_aarch64] SIGBUS in Assembler::ld_st2
JDK-8266889 [macosx-aarch64] Crash with SIGBUS in MarkActivationClosure::do_code_blob during vmTestbase/nsk/jvmti/.../bi04t002 test run
JDK-8241004 NMT tests fail on unaligned thread size with debug build
JDK-8253795 Implementation of JEP 391: macOS/AArch64 Port
JDK-8253816 Support macOS W^X
JDK-8253817 Support macOS Aarch64 ABI in Interpreter
JDK-8253818 Support macOS Aarch64 ABI for compiled wrappers
JDK-8253819 Implement os/cpu for macOS/AArch64
JDK-8253839 Update tests and JDK code for macOS/Aarch64
JDK-8254941 Implement Serviceability Agent for macOS/AArch64
JDK-8255776 Change build system for macOS/AArch64
JDK-8262903 [macos_aarch64] Thread::current() called on detached thread
JDK-8262896 [macos_aarch64] Crash in jni_fast_GetLongField
JDK-8280414 Memory leak in DefaultProxySelector
JDK-8280526 x86_32 Math.sqrt performance regression with -XX:UseSSE=
JDK-8279076 C2: Bad AD file when matching SqrtF with UseSSE=0
JDK-8281520 JFR: A wrong parameter is passed to the constructor of LeakKlassWriter
JDK-8281599 test/lib/jdk/test/lib/ is redundant since JDK-8268801
JDK-8190748 java/text/Format/DateFormat/ and NonGregorianFormatTest fail intermittently
JDK-8281061 [s390] JFR runs into assertions while validating interpreter frames
JDK-8280155 [PPC64, s390] frame size checks are not yet correct
JDK-8279924 [PPC64, s390] implement frame::is_interpreted_frame_valid checks
JDK-8261205 AssertionError: Cannot add metadata to an intersection type
JDK-8277992 Add fast jdk_svc subtests to jdk:tier3
JDK-8216969 ParseException thrown for certain months with russian locale
JDK-8278381 [GCC 11] Address::make_raw() does not initialize rspec
JDK-8264650 Cross-compilation to macos/aarch64
JDK-8280786 Build failure on Solaris after 8262392
JDK-8218546 Unable to connect to using
JDK-8281324 Bump update version for OpenJDK: jdk-
JDK-8256321 Some "inactive" color profiles use the wrong profile class
JDK-8280999 array_bounds should be array-bounds after 8278507
JDK-8177814 jdk/editpad is not in jdk TEST.groups
JDK-8279702 [macosx] ignore xcodebuild warnings on M1
JDK-8280786 Build failure on Solaris after 8262392
JDK-8218546 Unable to connect to using
JDK-8278758 runtime/BootstrapMethod/ fails with release VMs after JDK-8262134
JDK-8279833 Loop optimization issue in String.encodeUTF8_UTF16
JDK-8273277 C2: Move conditional negation into rc_predicate
JDK-8253197 vmTestbase/nsk/jvmti/StopThread/stopthrd007/ fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
JDK-8236210 javac generates wrong annotation for fields generated from record components
JDK-8236505 Mark jdk/editpad/ as @headful
JDK-8270874 JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
JDK-8271202 C1: assert(false) failed: live_in set of first block must be empty
JDK-8277447 Hotspot C1 compiler crashes on Kotlin suspend fun with loop
JDK-8275610 C2: Object field load floats above its null check resulting in a segfault
JDK-8266421 Deadlock in Sound System
JDK-8274795 AArch64: avoid spilling and restoring r18 in macro assembler
JDK-8232533 G1 uses only a single thread for pretouching the java heap
JDK-8273933 [TESTBUG] Test must run without preallocated exceptions
JDK-8268542 serviceability/logging/ tests only 1st test case
JDK-8251998 remove usage of PropertyResolvingWrapper in vmTestbase/jit/t
JDK-8273438 Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
JDK-8273433 Enable parallelism in vmTestbase_nsk_sysdict tests
JDK-8273341 Update Siphash to version 1.0
JDK-8278871 [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
JDK-8275326 C2: assert(no_dead_loop) failed: dead loop detected
JDK-8251127 clean up FileInstaller $test.src $cwd in remaining vmTestbase_vm_compiler tests
JDK-8252005 narrow disabling of allowSmartActionArgs in vmTestbase
JDK-8279998 PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
JDK-8193277 SimpleFileObject inconsistency between getName and getShortName
JDK-8225559 assertion error at TransTypes.visitApply
JDK-8220634 SymLinkArchiveTest should handle not being able to create symlinks
JDK-8214026 Canonicalized archive paths appearing in diagnostics
JDK-8251126 nsk.share.GoldChecker should read golden file from $
JDK-8237798 rewrite vmTestbase/jit/tiered from shell to java
JDK-8262134 compiler/uncommontrap/ failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
JDK-8210194 [TESTBUG] jvmti_FollowRefObjects.cpp missing initializer for member _jvmtiHeapCallbacks::heap_reference_callback
JDK-8277441 CompileQueue::add fails with assert(_last->next() == __null) failed: not last
JDK-8273704 failed : drawString with InfiniteXform transform takes long time
JDK-8277328 jdk/jshell/ failures on Windows
JDK-8251132 make main classes public in vmTestbase/jit tests
JDK-8274465 Fix javax/swing/text/ParagraphView/6364882/ failures
JDK-8273634 [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/
JDK-8249019 clean up FileInstaller $test.src $cwd in vmTestbase_vm_compiler tests
JDK-8274338 com/sun/jdi/ failed "assert(m != __null) failed: NULL mirror"
JDK-8279300 [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
JDK-8273682 Upgrade Jline to 3.20.0
JDK-8256154 Some TestNG tests require default constructors
JDK-8237787 rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java
JDK-8223142 Clean-up WS and CB.
JDK-8278384 Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
JDK-8278172 java/nio/channels/FileChannel/ should only run on Linux
JDK-8279077 JFR crashes on Linux ppc due to missing crash protector in signal handler
JDK-8279225 [arm32] C1 longs comparison operation destroys argument registers
JDK-8276623 JDK-8275650 accidentally pushed "out" file
JDK-8279379 GHA: Print tests that are in error
JDK-8275536 Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
JDK-8274658 ISO 4217 Amendment 170 Update
JDK-8239502 [TEST_BUG] Test javax/swing/text/FlowView/6318524/ never fails
JDK-8277342 vmTestbase/nsk/stress/strace/ fails with SIGSEGV in InstanceKlass::jni_id_for
JDK-8275650 Problemlist java/io/File/createTempFile/ for Windows 11
JDK-8268014 Build failure on SUSE Linux Enterprise Server 11.4 (s390x) due to 'SYS_get_mempolicy' was not declared
JDK-8241423 NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default
JDK-8065704 Set LC_ALL=C for all relevant commands in the build system
JDK-8254827 JVMCI: Enable it for Windows+AArch64
JDK-8276314 [JVMCI] check alignment of call displacement during code installation
JDK-8265150 AsyncGetCallTrace crashes on ResourceMark
JDK-8276177 nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
JDK-8273638 javax/swing/JTable/4235420/ fails in GTK L&F
JDK-8258554 javax/swing/JTable/4235420/ fails in GTK L&F
JDK-8277385 Zero: Enable CompactStrings support
JDK-8278116 runtime/modules/ has duplicate -Xmx
JDK-8278115 gc/stress/gclocker/ has duplicate -Xmx
JDK-8274736 Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
JDK-8278309 [windows] use of uninitialized OSThread::_state
JDK-8202142 jfr/event/io/TestInstrumentation is unstable
JDK-8207793 [TESTBUG] runtime/Metaspace/ fails: heap needs to be increased
JDK-8211170 AArch64: Warnings in C1 and template interpreter
JDK-8273575 memory leak in appendBootClassPath(), paths must be deallocated
JDK-8266187 Memory leak in appendBootClassPath()
JDK-8240904 Screen flashes on test failures when running tests from make
JDK-8234930 Use MAP_JIT when allocating pages for code cache on macOS
JDK-8275811 Incorrect instance to dispose
JDK-8186780 clang fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment()
JDK-8266171 -Warray-bounds happens in imageioJPEG.c
JDK-8266170 -Wnonnull happens in classLoaderData.inline.hpp
JDK-8207011 Remove uses of the register storage class specifier
JDK-8266172 -Wstringop-overflow happens in vmError.cpp
JDK-8274714 Incorrect verifier protected access error message
JDK-8273514 java/util/DoubleStreamSums/ failure
JDK-8214761 Bug in parallel Kahan summation implementation
JDK-8272473 Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
JDK-8255035 Update BCEL to Version 6.5.0
JDK-8257769 Cipher.getParameters() throws NPE for ChaCha20-Poly1305
JDK-8233827 Enable screenshots in the enhanced failure handler on Linux/macOS
JDK-8210236 Prepare ciReceiverTypeData::translate_receiver_data_from for concurrent class unloading
JDK-8273366 [testbug] javax/swing/UIDefaults/6302464/ fails on macOS12
JDK-8199079 Test javax/swing/UIDefaults/6302464/ is unstable
JDK-8256373 [Windows/HiDPI] The Frame#setBounds does not work in a minimized state
JDK-8274523 java/lang/management/MemoryMXBean/ test should handle Shenandoah
JDK-8208074 [TESTBUG] vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/ failed with NullPointerException
JDK-8266168 -Wmaybe-uninitialized happens in check_code.c
JDK-8266174 -Wmisleading-indentation happens in libmlib_image sources
JDK-8251558 J2DBench should support shaped and translucent windows
JDK-8254940 AArch64: Cleanup non-product thread members
JDK-8266173 -Wmaybe-uninitialized happens in jni_util.c
JDK-8263185 Mallinfo deprecated in glibc 2.33
JDK-8257467 [TESTBUG] -Wdeprecated-declarations is reported at sigset() in exesigtest.c
JDK-8266176 -Wmaybe-uninitialized happens in libArrayIndexOutOfBoundsExceptionTest.c
JDK-8274265 Suspicious string concatenation in logTestUtils.inline.hpp
JDK-8222825 ARM32 SIGILL issue on single core CPU (not supported PLDW instruction)
JDK-8276105 C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
JDK-8268882 C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
JDK-8272345 macos doesn't check `os::set_boot_path()` result
JDK-8277796 Bump update version for OpenJDK: jdk-11.0.15