Liberica JDK 11.0.9+12 for Embedded Release Notes

The full version string for this update release is 11.0.9+12. The version number is 11.0.9.

Liberica JDK 11.0.9+12 for Embedded

Liberica is a certified, Java SE 11-compliant distribution of OpenJDK 11 which works on 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.
  • Linux ARMv7 distribution contains Device IO API compiled for Raspberry Pi.

Please refer to the Oracle JDK 11.0.9 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 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.0.9+12 distribution

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

Liberica 11.0.9 introduced all new features supported by OpenJDK 11.0.9.

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.0.9+12 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
6532025 GIF reader throws misleading exception with truncated images
6949753 [TEST BUG]: java/awt/print/PageFormat/ needs update by removing a infinite loop
8022535 [TEST BUG] javax/swing/text/html/parser/ fails
8062947 Fix exception message to correctly represent LDAP connection failure
8067354 com/sun/jdi/ failed
8134599 TEST_BUG: java/rmi/transport/closeServerSocket/ fails intermittently with Address already in use
8151678 com/sun/jndi/ldap/ failed due to timeout on DeadServerNoTimeoutTest is incorrect
8160768 Add capability to custom resolve host/domain names within the default JNDI LDAP provider
8172404 Tools should warn if weak algorithms are used before restricting them
8191758 Match WebKit's font weight rendering with JavaFX
8193367 Annotated type variable bounds crash javac
8193800 TreeTableView selection changes on sorting
8202117 com/sun/jndi/ldap/ fails intermittently: Connection reset
8203026 java.rmi.NoSuchObjectException: no such object in table
8203281 [Windows] JComboBox change in ui when editor.setBorder() is called
8203382 Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass
8203393 com/sun/jdi/ and fail due to timeout
8203928 [Test] Convert non-JDB scaffolding serviceability shell script tests to java
8204963 javax.swing.border.TitledBorder has a memory leak
8204994 SA might fail to attach to process with "Windbg Error: WaitForEvent failed"
8205534 Remove SymbolTable dependency from serviceability agent
8206309 Tier1 SA tests fail
8208169 can not print selected pages of web page
8208281 java/nio/channels/AsynchronousSocketChannel/ timed out
8209109 [TEST] rewrite com/sun/jdi shell tests to java version - step1
8209332 [TEST] test/jdk/com/sun/jdi/ is incorrect
8209342 Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent!
8209343 Test javax/swing/border/ should be marked as headful
8209517 com/sun/jdi/ fails with timeout
8209604 [TEST] rewrite com/sun/jdi shell tests to java version - step2
8209605 com/sun/jdi/ fails with ZGC
8209608 Problem list com/sun/jdi/
8210131 vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/ failed with ObjectFree: GetCurrentThreadCpuTimerInfo returned unexpected error code
8210243 [TEST] rewrite com/sun/jdi shell tests to java version - step3
8210527 JShell: NullPointerException in jdk.jshell.Eval.translateExceptionStack
8210560 [TEST] convert com/sun/jdi redefineClass-related tests
8210725 com/sun/jdi/ fails with waitForPrompt timed out after 60 seconds
8210760 [TEST] rewrite com/sun/jdi shell tests to java version - step4
8210977 jdk/jfr/event/oldobject/ fails to find ThreadLocalObject
8211292 [TEST] convert com/sun/jdi/ test
8211694 JShell: Redeclared variable should be reset
8212200 assert when shared java.lang.Object is redefined by JVMTI agent
8212629 [TEST] wrong breakpoint in test/jdk/com/sun/jdi/DeferredStepTest
8212665 com/sun/jdi/ jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55
8212807 tools/jar/multiRelease/ times out
8213182 Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent)
8213214 Set when running tests
8213275 fails with jdk.internal.vm.PostVMInitHook not found
8213574 Deadlock in string table expansion when dumping lots of CDS classes
8213703 LambdaConversionException: Invalid receiver type not a subtype of implementation type interface
8214074 Ghash optimization using AVX instructions
8214491 Upgrade to JLine 3.9.0
8214797 timed out
8215243 JShell tests failing intermitently with "Problem cleaning up the following threads:"
8215244 jdk/jshell/ testHistoryReference failed
8215354 x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions)
8215438 jshell tool: Ctrl-D causes EOF
8216021 RunTest.gmk might set concurrency level to 1 on Windows
8216974 HttpConnection not returned to the pool after 204 response
8218948 SimpleDateFormat :: format - Zone Names are not reflected correctly during run time
8219712 code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs
8220150 macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs
8221658 aarch64: add necessary predicate for ubfx patterns
8221759 Crash when completing ""
8221918 runtime/SharedArchiveFile/serviceability/ fails: Shared archive not found
8222074 Enhance auto vectorization for x86
8222079 Don't use memset to initialize fields decode_env constructor in disassembler.cpp
8222769 [TESTBUG] TestJFRNetworkEvents should not rely on hostname command
8223688 JShell: crash on the instantiation of raw anonymous class
8223777 In posix_spawn mode, failing to exec() jspawnhelper does not result in an error
8223940 Private key not supported by chosen signature algorithm
8224184 jshell got IOException at exiting with AIX
8224234 compiler/codegen/ fails in test_mulc
8225037 throws NullPointerException
8225625 AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
8226536 Catch OOM from deopt that fails rematerializing objects
8226575 OperatingSystemMXBean should be made container aware
8226697 Several tests which need the @key headful keyword are missing it.
8226809 Circular reference in printed stack trace is not correctly indented & ambiguous
8227059 sun/security/tools/keytool/ timed out
8227269 Slow class loading when running with JDWP
8227595 keytool/fakegen/ fails due to "exitValue = 6"
8228448 Jconsole can't connect to itself
8228967 Trust/Key store and SSL context utilities for tests
8229378 jdwp library loader in linker_md.c quietly truncates on buffer overflow
8229815 Upgrade Jline to 3.12.1
8230000 some httpclients testng tests run zero test
8230010 Remove jdk8037819/
8230094 CCE in createXMLEventWriter(Result) over an arbitrary XMLStreamWriter
8230402 Allocation of compile task fails with assert: "Leaking compilation tasks?"
8230767 FlightRecorderListener returns null recording
8230870 (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/
8231209 [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread
8231586 enlarge encoding space for OopMapValue offsets
8231953 Wrong assumption in assertion in oop::register_oop
8231968 getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes
8232083 Minimal VM is broken after JDK-8231586
8232161 Align some one-way conversion in MS950 charset with Windows
8233027 OopMapSet::all_do does twice during iteration
8233228 Disable weak named curves by default in TLS, CertPath, and Signed JAR
8233386 Initialize NULL fields for unused decorations
8233452 java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result
8233686 XML transformer uses excessive amount of memory
8233741 AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions
8233829 javac cannot find non-ASCII module name under non-UTF8 environment
8233958 Memory retention due to HttpsURLConnection finalizer that serves no purpose
8234011 (zipfs) Memory leak in ZipFileSystem.releaseDeflater()
8234058 runtime/CompressedOops/ fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
8234149 Several regression tests do not dispose Frame at end
8234347 "Turkey" meta time zone does not generate composed localized names
8234385 [TESTBUG] java/awt/EventQueue/6980209/ fails in linux nightly
8234535 Cross compilation fails due to missing CFLAGS for the BUILD_CC
8234541 C1 emits an empty message when it inlines successfully
8234687 change javap reporting on unknown attributes
8235846 Improve WindbgDebuggerLocal implementation
8236464 SO_LINGER option is ignored by SSLSocket in JDK 11
8236617 jtreg test containers/docker/ fails after 8226575
8237182 Update copyright header for shenandoah and epsilon files
8237504 Update copyright header for files modified in 2020
8237888 security/infra/java/security/cert/CertPathValidator/certification/ fails when checking validity interval
8237977 Further update javax/net/ssl/compatibility/
8238270 HTTP/2 client does not decrease stream count when receives 204 response
8238284 [macos] Zero VM build fails due to an obvious typo
8238380 java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
8238386 (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10
8238388 libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
8238448 RSASSA-PSS signature verification fail when using certain odd key sizes
8238710 LingeredApp doesn't log stdout/stderr if exits with non-zero code
8239083 C1 assert(known_holder == NULL /
8239095 Upgrade libFFI to the latest 3.3 version
8239385 KerberosTicket client name refers wrongly to sAMAccountName in AD
8240169 javadoc fails to link to non-modular api docs
8240295 hs_err elapsed time in seconds is not accurate enough
8240360 NativeLibraryEvent has wrong library name on Linux
8240676 Meet not symmetric failure when running lucene on jdk8
8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support
8241065 Shenandoah: remove leftover code after JDK-8231086
8241086 Test runtime/NMT/ is failing on 32bit Windows
8241130 com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException
8241138 http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector
8241319 WB_GetCodeBlob doesn't have ResourceMark
8241478 vmTestbase/gc/gctests/Steal/steal001/ fails with OOME
8241574 Shenandoah: remove ShenandoahAssertToSpaceClosure
8241750 x86_32 build failure after JDK-8227269
8242184 CRL generation error with RSASSA-PSS
8242283 Can't start JVM when java home path includes non-ASCII character
8242508 Upgrade to Visual Studio 2019 version 16.5.3
8242556 Cannot load RSASSA-PSS public key with non-null params from byte array
8243029 Rewrite javax/net/ssl/compatibility/ with a flexible interop test framework
8243138 Enhance BaseLdapServer to support starttls extended request
8243320 Add SSL root certificates to Oracle Root CA program
8243321 Add Entrust root CA - G4 to Oracle Root CA program
8243389 enhance os::pd_print_cpu_info on linux
8243453 java --describe-module failed with non-ASCII module name under non-UTF8 environment
8243470 [macos] bring back O2 opt level for unsafe.cpp
8243489 Thread CPU Load event may contain wrong data for CPU time under certain conditions
8243925 Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows)
8244087 2020-04-24 public suffix list update
8244151 Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26
8244164 AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base
8244196 adjust output in os_linux
8244225 stringop-overflow warning on strncpy call from compile_the_world_in
8244287 JFR: Methods samples have line number 0
8244487 One Windows 10 SDK file missing from FX build
8244703 "platform encoding not initialized" exceptions with debugger, JNI
8244719 CTW: C2 compilation fails with "assert(!VerifyHashTableKeys /
8244729 Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb
8244763 Update --release 8 symbol information after JSR 337 MR3
8244818 Java2D Queue Flusher crash while moving application window to external monitor
8245151 jarsigner should not raise duplicate warnings on verification
8245284 Update to 610.1 version of WebKit
8245616 Bump update version for OpenJDK: jdk-11.0.9
8245714 "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch
8245801 StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!"
8245832 JDK build make-static-libs should build all JDK libraries
8245880 Shenandoah: check class unloading flag early in concurrent code root scan
8245981 Upgrade to jQuery 3.5.1
8246027 Minimal fastdebug build broken after JDK-8245801
8246094 [macos] Sound Recording and playback is not working
8246099 Intermittent test failures in SandboxAppTest
8246153 TestEliminateArrayCopy fails with -XX:+StressReflectiveCode
8246193 Possible NPE in ENC-PA-REP search in AS-REQ
8246196 javax/management/MBeanServer/OldMBeanServerTest fails with AssertionError
8246203 Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN
8246204 No 3D support for newer Intel graphics drivers on Linux
8246330 Add TLS Tests for Legacy ECDSA curves
8246348 Crash in libpango on Ubuntu 20.04 with some unicode chars
8246357 Allow static build of webkit library on linux
8246453 TestClone crashes with "all collected exceptions must come from the same place"
8247246 Add explicit and expose presence of default methods
8247350 [aarch64] assert(false) failed: wrong size of mach node
8247360 Add missing license file for Microsoft DirectShow Samples
8247502 PhaseStringOpts crashes while optimising effectively dead code
8247615 Initialize the bytes left for the heap sampler
8247824 CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand
8247874 Replacement in not working when --with-vendor-bug-url contains '&'
8247947 Build DirectShow Samples (Base Classes) from source checked into repo
8247963 Update SQLite to version 3.32.3
8247979 aarch64: missing side effect of killing flags for clearArray_reg_reg
8248177 Improve XML support
8248214 Add paddings for TaskQueueSuper to reduce false-sharing cache contention
8248219 aarch64: missing memory barrier in fast_storefield and fast_accessfield
8248348 Regression caused by the update to BCEL 6.0
8248365 Debug build crashes on Windows when playing media file
8248385 [testbug][11u] Adapt TestInitiExceptions to jtreg 5.1
8248490 [macOS] Undecorated stage does not minimize
8248495 [macos] zerovm is broken due to libffi headers location
8248851 CMS: Missing memory fences between free chunk check and klass read
8248987 AOT's seems to eagerly fail-fast on Windows
8249159 Downport test rework for SSLSocketTemplate from 8224650
8249215 JFrame::setVisible crashed with -Dfile.encoding=UTF-8 on Japanese Windows.
8249251 [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel
8249255 Build fails if source code in cygwin home dir
8249277 is failing with timeout in OpenJDK 11
8249278 Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList
8249560 Shenandoah: Fix racy GC request handling
8249801 Shenandoah: Clear soft-refs on requested GC cycle
8249839 Cherry pick GTK WebKit 2.28.3 changes
8249953 Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases
8250582 Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets
8250609 C2 crash in IfNode::fold_compares
8250627 Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
8250755 Better cleanup for jdk/test/javax/imageio/plugins/shared/
8250784 Shenandoah: A Low-Pause-Time Garbage Collector
8250787 Provider.put no longer registering aliases in FIPS env
8250826 jhsdb does not work with coredump which comes from Substrate VM
8250827 Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk
8250844 Make sure ArrayOopDesc accessors check the bounds
8251117 Cannot check P11Key size in P11Cipher and P11AEADCipher
8251354 Shenandoah: Fix jdk/jfr/tool/ test failure
8251451 Shenandoah: Remark ObjectSynchronizer roots with I-U
8251469 Better cleanup for test/jdk/javax/imageio/
8251487 Shenandoah: missing detail timing tracking for final mark cleaning phase
8252107 Media pipeline initialization can crash if audio or video bin state change fails
8252120 compiler/oracle/ misspells "occured"
8252157 JDK-8231209 11u backport breaks jmm binary compatibility
8252258 [11u] JDK-8242154 changes the default vendor
8252381 Cherry pick GTK WebKit 2.28.4 changes
8252804 [test] Fix '' test after downport of 8234011
8253134 JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11
8253283 [11u] Test build/translations/ failing after JDK-8252258
8253813 Backout JDK-8244287 from 11u: it causes several crashes