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