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 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        
6532025 GIF reader throws misleading exception with truncated images        
6949753 [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop        
8022535 [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails        
8062947 Fix exception message to correctly represent LDAP connection failure        
8067354 com/sun/jdi/GetLocalVariables4Test.sh failed        
8134599 TEST_BUG: java/rmi/transport/closeServerSocket/CloseServerSocket.java fails intermittently with Address already in use        
8151678 com/sun/jndi/ldap/LdapTimeoutTest.java 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/RemoveNamingListenerTest.java 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/JdbMethodExitTest.sh and JdbExprTest.sh 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/Basic.java timed out        
8209109 [TEST] rewrite com/sun/jdi shell tests to java version - step1        
8209332 [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh 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/TestTitledBorderLeak.java should be marked as headful        
8209517 com/sun/jdi/BreakpointWithFullGC.java fails with timeout        
8209604 [TEST] rewrite com/sun/jdi shell tests to java version - step2        
8209605 com/sun/jdi/BreakpointWithFullGC.java fails with ZGC        
8209608 Problem list com/sun/jdi/BreakpointWithFullGC.java        
8210131 vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/TestDescription.java 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/RedefineClearBreakpoint.java 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/TestThreadLocalLeak.java fails to find ThreadLocalObject        
8211292 [TEST] convert com/sun/jdi/DeferredStepTest.sh 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/DeferredStepTest.java: jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55        
8212807 tools/jar/multiRelease/Basic.java times out        
8213182 Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent)        
8213214 Set -Djava.io.tmpdir= when running tests        
8213275 ReplaceCriticalClasses.java 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 TestJmapCoreMetaspace.java timed out        
8215243 JShell tests failing intermitently with “Problem cleaning up the following threads:”        
8215244 jdk/jshell/ToolBasicTest.java 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 “java.io.File.path”        
8221918 runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java 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/TestCharVect2.java fails in test_mulc        
8225037 java.net.JarURLConnection::getJarEntry() 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/DefaultSignatureAlgorithm.java timed out        
8227269 Slow class loading when running with JDWP        
8227595 keytool/fakegen/DefaultSignatureAlgorithm.java 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/BasicTest1.java        
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/EntryCount64k.java        
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 oms.next() 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/CompressedClassPointers.java 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/bug6980209.java 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/TestMemoryAwareness.java 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/LuxTrustCA.java fails when checking validity interval        
8237977 Further update javax/net/ssl/compatibility/Compatibility.java        
8238270 java.net 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 / / (known_holder->is_instance_klass() && (!known_holder->is_interface() / / ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), “should be non-static concrete method”);
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/HugeArenaTracking.java 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/steal001.java 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/Compatibility.java 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 / / _hash_lock == 0) failed: remove node from hash table before modifying it”    
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 ResolvedJavaType.link 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 VersionProps.java.template 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 Linker.java 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 TestVerifyIterativeGVN.java 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/CanWriteSequence.java        
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 {type,obj}ArrayOopDesc accessors check the bounds        
8251117 Cannot check P11Key size in P11Cipher and P11AEADCipher        
8251354 Shenandoah: Fix jdk/jfr/tool/TestPrintJSON.java test failure        
8251451 Shenandoah: Remark ObjectSynchronizer roots with I-U        
8251469 Better cleanup for test/jdk/javax/imageio/SetOutput.java        
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/TestCompileCommand.java 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 ‘ReleaseDeflater.java’ test after downport of 8234011        
8253134 JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11        
8253283 [11u] Test build/translations/VerifyTranslations.java failing after JDK-8252258        
8253813 Backout JDK-8244287 from 11u: it causes several crashes        
Back to Downloads Page
BellSoft LTD [email protected] BellSoft LTD logo Liberica Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 111 North Market Street, Suite 300 CA 95113 San Jose US +1 702 213-59-59