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