The full version string for this binary release of OpenJDK is 11.0.4+12, and the version number is 11.0.4.

Liberica JDK 11.0.4 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.4 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.4 distribution

Liberica JDK 11.0.4 for Embedded are distributed as .rpm, .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 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

IssueDescription

JDK-6913047

Long term memory leak when using PKCS11 and JCE exceeds 32 bit process address space

JDK-8139178

Wrong fontMetrics when printing in Landscape (OpenJDK)

JDK-8163805

hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java failed with timed out

JDK-8170494

JNI exception pending in PlainDatagramSocketImpl.c

JDK-8174691

[TESTBUG] A number of native hotspot unit tests fail when executed in stand-alone mode

JDK-8179098

Crypto AES/ECB encryption/decryption performance regression (introduced in jdk9b73)

JDK-8181143

Introduce diagnostic flag to abort VM on too long VM operations

JDK-8188133

C2: Static field accesses in clinit can trigger deoptimizations

JDK-8190361

Incorrect version info in jaccessinspector.exe and jaccesswalker.exe

JDK-8195793

Remove GTE CyberTrust Global Root

JDK-8200286

(testbug) MOptionTest test fails with java.lang.AssertionError: Classfiles too old!

JDK-8200613

SA: jstack throws UnmappedAddressException with a CDS core file

JDK-8201317

X25519/X448 code improvements

JDK-8201633

Problems with AES-GCM native acceleration

JDK-8202353

os::readdir should use readdir instead of readdir_r

JDK-8202414

Unsafe write after primitive array creation may result in array length change

JDK-8202651

Test ComodoCA.java fails

JDK-8202794

Native Unix code should use readdir rather than readdir_r

JDK-8202884

SA: Attach/detach might fail on Linux if debugee application create/destroy threads during attaching

JDK-8204308

SA: serviceability/sa/TestInstanceKlassSize*.java fails when running in CDS mode

JDK-8205432

Replace the placeholder Japanese era name

JDK-8205574

Loop predication “assert(f ⇐ 1 && f >= 0) failed Incorrect frequency”

JDK-8205611

Improve the wording of LinkageErrors to include module and class loader information

JDK-8206955

MethodHandleProxies.asInterfaceInstance does not support default methods

JDK-8207340

(fs) UnixNativeDispatcher close and readdir usages should be fixed

JDK-8207760

SAXException: Invalid UTF-16 surrogate detected: d83c ?

JDK-8208634

Add x-IBM-1129 charset

JDK-8208648

ECC Field Arithmetic Enhancements

JDK-8208656

Move java/util/Calendar/CalendarTestScripts tests into OpenJDK

JDK-8208698

Improved ECC Implementation

JDK-8208702

javax/swing/reliability/HangDuringStaticInitialization.java may hang on macos

JDK-8208996

X11 icon window color handing bug

JDK-8209055

c.s.t.javac.code.DeferredCompletionFailureHandler seems to use WeakHashMap incorrectly

JDK-8209414

AArch64: method handle invocation does not respect JVMTI interp_only mode

JDK-8209415

Fix JVMTI test failure HS202

JDK-8209573

[TESTBUG] gc/epsilon/TestMemoryMXBeans should retry on failure

JDK-8209914

javadoc search sometimes generates bad URIs

JDK-8209951

Problematic sparc intrinsic: com.sun.crypto.provider.CipherBlockChaining

JDK-8210008

custom extension for make/SourceRevision.gmk

JDK-8210197

javac can’t tell during speculative attribution if a diamond expression is creating an anonymous inner class or not

JDK-8210283

Support git as an SCM alternative in the build

JDK-8210320

PPC64: Fix uninitialized variable in C1 LIR assembler code

JDK-8210457

JVM crash in ResolvedMethodTable::add_method(Handle)

JDK-8210483

AssertionError in DeferredAttr at setOverloadKind caused by JDK-8203679

JDK-8210519

build/releaseFile/CheckSource.java failed additional sources found

JDK-8210633

Cannot parse JapaneseDate string with DateTimeFormatterBuilder Mapped-values

JDK-8210739

Calling JSpinner’s setFont with null throws NullPointerException

JDK-8210782

Upgrade HarfBuzz to the latest 2.3.1

JDK-8210803

Compilation failure in codeBlob.cpp for Windows 32-bit

JDK-8210837

Add libXrandr-devel to the Linux devkits

JDK-8210863

Remove Xrandr include files from JDK sources

JDK-8210880

Remove HPKeysym.h from JDK sources

JDK-8210886

Remove references in xwindows.md to non-existent files.

JDK-8210899

(zipfs) ZipFileSystem.EntryOutputStreamCRC32 mistakenly set the crc32 value into size field

JDK-8211266

[TESTBUG] ZipFSTester.java failed intermittently in ZipFSTester.checkRead(): bound must be positive

JDK-8211350

Remove jprt support

JDK-8211393

Memory leak issue on awt_InputMethod.c

JDK-8211435

Exception in thread “AWT-EventQueue-1” java.lang.IllegalArgumentException: null source

JDK-8211698

Crash in C2 compiled code during execution of double array heavy processing code

JDK-8211810

X11 Time stamp data should be unsigned

JDK-8211826

StringIndexOutOfBoundsException happens via GetStringUTFRegion()

JDK-8211841

[testbug] sun/nio/cs/OLD/TestIBMDB.java does not compile (aix)

JDK-8211969

test/jdk/lib/security/CheckBlacklistedCerts.java searching for wrong paths

JDK-8211971

Move security/cacerts/VerifyCACerts.java and security/CheckBlacklistedCerts.java

JDK-8212202

[Windows] Exception if no printers are installed.

JDK-8212205

VM asserts after CDS archive has been unmapped

JDK-8212328

Exceptional throw cases

JDK-8212562

To remove lib/security from test/jdk/TEST.groups

JDK-8212676

AWT SystemColor setting on CDE

JDK-8212677

X11 default visual support for IM status window on VNC

JDK-8212678

Windows IME related patch

JDK-8212794

IBM-964 is required for AIX default charset

JDK-8212828

(process) Provide a way for Runtime.exec to use posix_spawn on linux

JDK-8213015

Inconsistent settings between JFR.configure and -XX:FlightRecorderOptions

JDK-8213213

Remove src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h

JDK-8213292

Input freezes after MacOS key-selector (press&hold) usage on macOS Mojave

JDK-8213294

Upgrade IANA LSR data

JDK-8213431

Improve file protocol handling

JDK-8213432

Better copies of CopiesList

JDK-8213515

Improve freetype detection on linux/ppc64/ppc64le/s390x

JDK-8213614

DnD operation change feature does not work with 64bit big endian CPU

JDK-8213617

JFR should record the PID of the recorded process

JDK-8213618

IBM970 charset has missing entry and remove unexpected entries

JDK-8213825

assert(false) failed: Non-balanced monitor enter/exit! Likely JNI locking

JDK-8213944

Fix AIX build after the removal of Xrandr.h and add a configure check for it

JDK-8214002

Cannot use italic font style if the font has embedded bitmap

JDK-8214109

XToolkit is not correctly displayed color on 16-bit high color setting

JDK-8214111

There is no icon in all JOptionPane target image

JDK-8214112

The whole text in target JPasswordField image are not selected

JDK-8214252

Expanded & Collapsed nodes of a JTree look the same on GTK3

JDK-8214253

Tooltip is transparent rather than having a black background

JDK-8214468

jQuery UI upgrade from 1.11.4 to 1.12.1

JDK-8214533

IBM-29626C is required for AIX default charset

JDK-8214765

All TrayIcon MessageType icons does not show up with gtk3 option set

JDK-8214935

Upgrade IANA LSR data

JDK-8215026

Incorrect amount of memory unmapped with ImageFileReader::close()

JDK-8215123

Crash in runtime image built with jlink –compress=2

JDK-8215284

Reduce noise induced by periodic task getFileSize()

JDK-8215296

do not disable c99 on Solaris

JDK-8215342

[Zero] Build fails after JDK-8200613

JDK-8215364

JavaFX crashes on Ubuntu 18.04 with Wayland while using Swing-FX interop

JDK-8215374

32-bit build failures after JDK-8181143 (Introduce diagnostic flag to abort VM on too long VM operations)

JDK-8215398

-Xlog option usage ⇒ Invalid decorator ’_cds.log’.

JDK-8215443

The use of TransportContext.fatal() leads to bad coding style

JDK-8215472

(zipfs) Cleanups in implementation classes of jdk.zipfs and tests

JDK-8215707

[macosx] fix pthread_getschedparam and pthread_setschedparam calls

JDK-8215757

C2: PhaseIdealLoop::create_new_if_for_predicate() computes wrong IDOM

JDK-8215790

Delegated task created by SSLEngine throws java.nio.BufferUnderflowException

JDK-8216045

The size of key_exchange may be wrong on FFDHE

JDK-8216355

missing NULL checks in libnet in interface iteration and potential resource leak in getMacAddress

JDK-8216381

More limited privilege usage

JDK-8216556

Unnecessary liveness computation with JVMTI

JDK-8216577

Add GlobalSign’s R6 Root certificate

JDK-8216597

SIGBUS in Java_sun_security_pkcs11_wrapper_PKCS11_getNativeKeyInfo after JDK-6913047

JDK-8216970

condy causes JVM crash

JDK-8217088

Disable JDK-6913047 fix (SunPKCS11 memory leak) after JDK-8216597 (SIGBUS error in getNativeKeyInfo)

JDK-8217094

HttpClient SSL race if a socket IOException is raised before ALPN is available

JDK-8217263

Automate DashOffset test

JDK-8217311

Improve Exception thrown when MulticastSocket.setInterface fails on AIX(Unix)

JDK-8217563

Improve realm maintenance

JDK-8217564

idempotent protection missing in crc32c.h

JDK-8217647

JFR: recordings on 32-bit systems unreadable

JDK-8217690

Update public suffix version

JDK-8217707

JNICALL declaration breaks Splash screen functions

JDK-8217765

Internal Error (javaCalls.cpp:61) guarantee(thread→can_call_java()) failed

JDK-8217786

Provide virtualization related info in the hs_error file on linux s390x

JDK-8217878

ENVELOPING XML signature no longer works in JDK 11

JDK-8217879

hs_err should print more instructions in hex dump

JDK-8217880

AIX build issue after JDK-8214533

JDK-8218020

Fix version number in mesa.md 3rd party legal file

JDK-8218060

JDK-8217786 breaks build due to remaining unused function

JDK-8218063

JDK-8218060 breaks build for S390

JDK-8218152

[javac] fails and exits with no error if a bad annotation processor provided

JDK-8218469

JSlider display issue with slider for GTKLookAndFeel

JDK-8218473

JOptionPane display issue with GTKLookAndFeel

JDK-8218479

JTextPane display issue with GTKLookAndFeel

JDK-8218618

Program fails when using JDK addressed by UNC path and using Security Manager

JDK-8218674

HTML Tooltip with “img=src” on component doesn’t show

JDK-8218733

SA: CollectedHeap provides broken implementation for used() and capacity()

JDK-8218781

Localized names for Japanese era Reiwa in COMPAT provider

JDK-8218811

replace open by os::open in hotspot coding

JDK-8218854

FontMetrics.getMaxAdvance may be less than the maximum FontMetrics.charWidth

JDK-8218863

Better endpoint checks

JDK-8218873

Improve JSSE endpoint checking

JDK-8218876

Improve PNG support options

JDK-8218960

CONFIG level logging statements printed in CLDRCalendarDataProviderImpl.java even when default log Level is INFO

JDK-8218991

s390: Add intrinsic for GHASH algorithm

JDK-8219006

AArch64: Register corruption in slow subtype check

JDK-8219011

Implement MacroAssembler::warn method on AArch64

JDK-8219112

name_and_sig_as_C_string usages in frame_s390 miss ResourceMark

JDK-8219335

“failed: unexpected type” assert failure in ConnectionGraph::split_unique_types() with unsafe accesses

JDK-8219389

Delegated task created by SSLEngine throws BufferUnderflowException

JDK-8219414

SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore

JDK-8219448

split-if update_uses accesses stale idom data

JDK-8219460

ppc: adjust NativeGeneralJump::insert_unconditional to stack allocated MacroAssembler

JDK-8219566

JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero

JDK-8219574

Minimal VM build failure after JDK-8219414

JDK-8219582

PPC: Crash after C1 checkcast patched and GC

JDK-8219584

Try to dump error file by thread which causes safepoint timeout

JDK-8219698

aarch64: SIGILL triggered when specifying unsupported hardware features

JDK-8219710

Bump update version for OpenJDK: jdk11.0.4

JDK-8219746

Provide virtualization related info in the hs_error file on linux ppc64 / ppc64le

JDK-8219775

Certificate validation improvements

JDK-8219890

Calendar.getDisplayName() returns empty string for new Japanese Era on some locales

JDK-8219915

[TESTBUG] Fix test langtools/tools/javac/processing/model/completionfailure/SymbolsDontCumulate.java in Standalone mode

JDK-8219918

ProblemList hotspot tests failing in SAP testing.

JDK-8220165

Encryption using GCM results in RuntimeException- input length out of bound

JDK-8220166

Performance regression in deserialization (4-6% in SPECjbb)

JDK-8220198

Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs

JDK-8220281

IBM-858 alias name is missing on IBM00858 charset

JDK-8220293

Deadlock in JFR string pool

JDK-8220349

The fix done for JDK-8214253 have caused issues in JTree behaviour

JDK-8220353

[TESTBUG] TestRegisterRestoring uses SafepointALot without UnlockDiagnosticVMOptions

JDK-8220374

C2: LoopStripMining doesn’t strip as expected

JDK-8220441

[PPC64] Clobber memory effect missing for memory barriers in atomics

JDK-8220495

Update GIFlib library to the 5.1.8

JDK-8220513

Wrapper Key may get deleted when closing sessions in SunPKCS11 crypto provider

JDK-8220517

Enhanced GIF support

JDK-8220625

tools/javac/classreader/8171132/BadConstantValue.java failed with “did not see expected error”

JDK-8220707

[TESTBUG] serviceability/sa/TestHeapDumpForLargeArray.java fails with jtreg -vmoption:-Xmx < 8g

JDK-8220714

C2 Compilation failure when accessing off-heap memory using Unsafe

JDK-8220718

Missing ResourceMark in nmethod::metadata_do

JDK-8220781

linux-s390 : os::get_summary_cpu_info gives bad output

JDK-8220794

PPC64: Fix signal handler for SIGSEGV on branch to illegal address

JDK-8221083

[ppc64] Wrong oop compare in C1-generated code

JDK-8221175

Fix bad function case for controlled JVM crash on PPC64 big-endian

JDK-8221244

Unexpected behavior of PropertyDescription.getReadMethod for boolean properties

JDK-8221263

[TEST_BUG] RemotePrinterStatusRefresh test is hard to use

JDK-8221304

Problem list java/awt/FontMetrics/MaxAdvanceIsMax.java

JDK-8221345

Better Poly1305 support

JDK-8221400

java/lang/String/StringRepeat.java test requests too much heap

JDK-8221401

java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms

JDK-8221412

lookupPrintServices() does not always update the list of Windows remote printers

JDK-8221437

assert(java_lang_invoke_ResolvedMethodName::vmtarget(resolved_method()) == m()) failed: Should not change after link resolution

JDK-8221470

Print methods in exception messages in java-like Syntax.

JDK-8221479

Fix JFR profiling on s390

JDK-8221483

TestOopCmp.java fails due to “Multiple garbage collectors selected”

JDK-8221518

Normalize normalization

JDK-8221535

add steal tick related information to hs_error file [linux]

JDK-8221610

Resurrect (legacy) JRE bundle target

JDK-8221639

[i386] expand_exec_shield_cs_limit workaround is undefined code after JDK-8199717

JDK-8221833

Readability check in Symbol::is_valid not performed for some addresses

JDK-8221870

use driver to run CtwRunner in applications/ctw tests

JDK-8221880

Better customization for Windows RC properties FileDescription and ProductName

JDK-8221915

cleanup ticks related coding in os_perf_aix.cpp [aix]

JDK-8221917

serviceability/sa/TestPrintMdo.java fails on 32-bit platforms

JDK-8221924

get(null) on single-entry unmodifiable Map returns null instead of throwing NPE

JDK-8222027

java/util/logging/LogManager/TestLoggerNames.java generates intermittent ClassCastException

JDK-8222032

x86_32 fails with “wrong size of mach node” on AVX-512 machine

JDK-8222089

[TESTBUG] sun/security/lib/cacerts/VerifyCACerts.java fails due to cert within 90-day expiry window

JDK-8222133

Add temporary exceptions for root certs that are due to expire soon

JDK-8222136

Remove two Comodo root CA certificates that are expiring

JDK-8222137

Remove T-Systems root CA certificate

JDK-8222397

x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers

JDK-8222410

java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile hangs when “nc” does not accept “-U”

JDK-8222522

Add configure options for Mac Bundle creation

JDK-8222532

(zipfs) Performance regression when writing ZipFileSystem entries in parallel

JDK-8222678

Improve TLS negotiation

JDK-8222913

Add Jib support for VERSION_EXTRA*

JDK-8222930

ConcurrentSkipListMap.clone() shares size variable between original and clone

JDK-8223266

PPC64: Check for branch to illegal address before checking for mem serialization

JDK-8223395

PPC64: Improve comments in the JVM signal handler to match ISA text

JDK-8223499

Remove two DocuSign root certificates that are expiring

JDK-8223555

Cleanups in cacerts tests

JDK-8223597

jdk/nio/zipfs/ZipFSTester.java RuntimeException: CHECK_FAILED! (getAttribute.crc failed 6af4413c vs 0 …)

JDK-8223665

SA: debugd options should follow jhsdb style

JDK-8224474

harfbuzz 2.3.1 code fails to compile with gcc 4.4.7

JDK-8224671

AArch64: mauve System.arraycopy test failure

JDK-8224727

Problem list test security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java

JDK-8224828

aarch64: rflags is not correct after safepoint poll

JDK-8224880

AArch64: java/javac error with AllocatePrefetchDistance

JDK-8225402

events logging in deoptimization.cpp should go to deopt-log

JDK-8225716

G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding

JDK-8226876

Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960

JDK-8226880

Backport of JDK-8208698 (Improved ECC Implementation) should not bring parts of JDK-8205476 (KeyAgreement#generateSecret is not reset for ECDH based algorithm)

JDK-8222066

Change JavaFX release version in 11-dev to 11.0.3

JDK-8219539

Cherry pick GTK WebKit 2.22.6 changes

JDK-8218611

[DRT] fast/xslt tests fails with Unsupported encoding windows-1251

JDK-8213806

WebView - JVM crashes for given HTML

JDK-8214185

Upgrade GStreamer to the latest (1.14.4) version

JDK-8215799

Complex text is not rendered by webkit on Windows

JDK-8215702

SVG gradients are not rendered

JDK-8211454

Update SQLite to version 3.26.0

JDK-8214452

Update libxml2 to version 2.9.9

JDK-8214119

Update to 607.1 version of WebKit

JDK-8207772

File API and FileReader should be supported in WebView

JDK-8211307

Add prefix to build tools paths

JDK-8213541

WebView does not handle HTTP response without ContentType

JDK-8209457

[WebView] Canvas.toDataURL with image/jpeg MIME type fails

ON THIS PAGE