The full version string for this update release is 11.0.10+9. The version number is 11.0.10.

Liberica JDK 11.0.10+9

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, 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.10 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.10 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 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-6722928

Support SSPI as a native GSS-API provider

JDK-7185258

[macosx] Deadlock in SunToolKit.realSync()

JDK-8152332

[macosx] JFileChooser cannot be serialized on Mac OS X

JDK-8161684

[testconf] Add VerifyOops’ testing into compiler tiers

JDK-8171279

Support X25519 and X448 in TLS

JDK-8173361

various crashes in JvmtiExport::post_compiled_method_load

JDK-8173658

JvmtiExport::post_class_unload() is broken for non-JavaThread initiators

JDK-8181775

JavaFX WebView does not calculate border-radius properly

JDK-8191006

hsdis disassembler plugin does not compile with binutils 2.29+

JDK-8197981

Missing return statement in __sync_val_compare_and_swap_8

JDK-8198334

java/awt/FileDialog/8003399/bug8003399.java fails in headless mode

JDK-8200151

Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/

JDK-8208279

Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/

JDK-8208483

Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/

JDK-8208542

Add 4 JNDI tests to com/sun/jndi/dns/ListTests/

JDK-8208665

Amend cross-compilation docs with qemu-debootstrap recipe

JDK-8210088

ProblemList gc/epsilon/TestMemoryMXBeans.java

JDK-8210339

Add 10 JNDI tests to com/sun/jndi/dns/FedTests/

JDK-8211450

UndetVar::dup is not copying the kind field to the duplicated instance

JDK-8212160

JVMTI agent crashes with “assert(_value != 0LL) failed: resolving NULL _value”

JDK-8212226

SurfaceManager throws “Invalid Image variant” for MultiResolutionImage (Windows)

JDK-8213400

Support choosing group name in keytool keypair generation

JDK-8213535

Windows HiDPI html lightweight tooltips are truncated

JDK-8213698

Improve devkit creation and add support for linux/ppc64/ppc64le/s390x

JDK-8214025

assert(t→singleton()) failed: must be a constant when ScavengeRootsInCode < 2

JDK-8214242

compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions

JDK-8214787

Zero builds fail with “undefined JavaThread::thread_state()”

JDK-8215583

Exclude runtime/handshake/HandshakeWalkSuspendExitTest.java

JDK-8216012

Infinite loop in RSA KeyPairGenerator

JDK-8216324

GetClassMethods is confused by the presence of default methods in super interfaces

JDK-8217429

WebSocket over authenticating proxy fails to send Upgrade headers

JDK-8217976

test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java fails intermittently

JDK-8218021

Have jarsigner preserve posix permission attributes

JDK-8218287

jshell tool: input behavior unstable after 12-ea+24 on Windows

JDK-8218851

JVM crash in custom classloader stress test, JDK 12 & 13

JDK-8220420

Cleanup c1_LinearScan

JDK-8222072

JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv

JDK-8222286

Fix for JDK-8213419 is broken on s390

JDK-8222527

HttpClient doesn’t send HOST header when tunelling HTTP/1.1 through http proxy

JDK-8222533

jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine

JDK-8224506

[TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137

JDK-8224555

vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed

JDK-8224650

Add tests to support X25519 and X448 in TLS

JDK-8225072

Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs

JDK-8225329

-XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms

JDK-8225687

Newly added sspi.cpp in JDK-6722928 still contains some small errors

JDK-8227006

[linux] Runtime.availableProcessors execution time increased by factor of 100

JDK-8227275

Within native OOM error handling, assertions may hang the process

JDK-8227647

[Graal] Test8009761.java fails due to “RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled”

JDK-8229495

SIGILL in C2 generated OSR compilation

JDK-8230910

libsspi_bridge does not build on Windows 32bit

JDK-8231310

Add .jcheck/conf to jfx git repo

JDK-8232114

JVM crashed at imjpapi.dll in native code

JDK-8234147

Avoid looking up standard charsets in core libraries

JDK-8234393

[macos] printing ignores printer tray

JDK-8234471

Canvas in webview displayed with wrong scale on Windows

JDK-8234863

Increase default value of MaxInlineLevel

JDK-8235218

Minimal VM is broken after JDK-8173361

JDK-8235456

Minimal VM is broken after JDK-8212160

JDK-8235829

graal crashes with Zombie.java test

JDK-8236124

Minimal VM slowdebug build failed after JDK-8212160

JDK-8236512

PKCS11 Connection closed after Cipher.doFinal and NoPadding

JDK-8236944

The legVecZ operand should be limited to zmm0-zmm15 registers

JDK-8237186

Fix typo in copyright header of java/io/Reader/TransferTo.java

JDK-8237499

JFR: Include stack trace in the ThreadStart event

JDK-8237512

AArch64: aarch64TestHook leaks a BufferBlob

JDK-8237524

AArch64: String.compareTo() may return incorrect result

JDK-8237950

C2 compilation fails with “Live Node limit exceeded limit” during ConvI2L::Ideal optimization

JDK-8238579

HttpsURLConnection drops the timeout and hangs forever in read

JDK-8239105

Add exception for expiring Digicert root certificates to VerifyCACerts test

JDK-8239477

jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with “verify_oop: rsi: broken oop”

JDK-8239497

SEGV in EdgeUtils::field_name_symbol(Edge const&)

JDK-8239886

Minimal VM build fails after JDK-8237499

JDK-8240499

Enforce whitespace checking for additional source files

JDK-8240633

Memory leaks in the implementations of FileChooserUI

JDK-8240690

Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()

JDK-8241234

Unify monitor enter/exit runtime entries.

JDK-8241311

Move some charset mapping tests from closed to open

JDK-8241797

Add some tests to the problem list

JDK-8242029

AArch64: skip G1 array copy pre-barrier if marking not active

JDK-8242335

Additional Tests for RSASSA-PSS

JDK-8242480

Negative value may be returned by getFreeSwapSpaceSize() in the docker

JDK-8242614

cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests

JDK-8242846

Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java

JDK-8243114

Implement montgomeryintrinsics on Windows

JDK-8243290

Improve diagnostic messages for class verification and redefinition failures

JDK-8243488

Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket

JDK-8243549

sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA

JDK-8243617

compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class

JDK-8243619

compiler/codecache/CheckSegmentedCodeCache.java test misses -version

JDK-8244142

some hotspot/runtime tests don’t check exit code of forked JVM

JDK-8244278

Excessive code cache flushes and sweeps

JDK-8244282

test/hotspot/jtreg/compiler/intrinsics/Test8237524.java fails with –illegal-access=deny

JDK-8244621

[macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11

JDK-8244819

hsdis does not compile with binutils 2.34+

JDK-8245051

c1 is broken if it is compiled by gcc without -fno-lifetime-dse

JDK-8245168

jlink should not be treated as a “small” tool

JDK-8245400

Upgrade to LittleCMS 2.11

JDK-8246381

VM crashes with “Current BasicObjectLock* below than low_mark”

JDK-8246434

Threads::print_on_error assumes that the heap has been set up

JDK-8246648

issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480

JDK-8247201

Print potential pointer value of readable stack memory in hs_err file

JDK-8247619

Improve Direct Buffering of Characters

JDK-8247763

assert(outer→outcnt() == 2) failed: ‘only phis’ failure in LoopNode::verify_strip_mined()

JDK-8247867

Upgrade to freetype 2.10.2

JDK-8248190

Enable Power10 system and implement new byte-reverse instructions

JDK-8248226

TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing

JDK-8248347

windows build broken by JDK-8243114

JDK-8248532

Every time I change keyboard language at my MacBook, Java crashes

JDK-8248552

C2 crashes with SIGFPE due to division by zero

JDK-8248596

[TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled

JDK-8248745

Add jarsigner and keytool tests for restricted algorithms

JDK-8248791

sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing

JDK-8248845

AArch64: stack corruption after spilling vector register

JDK-8249176

Update GlobalSignR6CA test certificates

JDK-8249183

JVM crash in “AwtFrame::WmSize” method

JDK-8249192

MonitorInfo stores raw oops across safepoints

JDK-8249602

C2: assert(cnt == _outcnt) failed: no insertions allowed

JDK-8249603

C1: assert(has_error == false) failed: register allocation invalid

JDK-8249605

C2: assert(no_dead_loop) failed: dead loop detected

JDK-8249607

C2: assert(!had_error) failed: bad dominance

JDK-8249608

Vector register used by C2 compiled method corrupted at safepoint

JDK-8249672

Include microcode revision in features_string on x86

JDK-8249748

gtest silently ignores bad jvm arguments

JDK-8249821

Separate libharfbuzz from libfontmanager

JDK-8250598

Hyper-V is detected in spite of running on host OS

JDK-8250605

Linux x86_32 builds fail after JDK-8249821

JDK-8250636

iso8601_time returns incorrect offset part on MacOS

JDK-8250665

Wrong translation for the month name of May in ar_JO,LB,SY

JDK-8250772

Test com/sun/jndi/ldap/NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException

JDK-8250825

C2 crashes with assert(field != __null) failed: missing field

JDK-8250894

Provide a configure option to build and run against the platform libharfbuzz

JDK-8250928

JFR: Improve hash algorithm for stack traces

JDK-8250968

Symlinks attributes not preserved when using jarsigner on zip files

JDK-8250984

Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities

JDK-8251118

BiasedLocking::preserve_marks should not have a HandleMark

JDK-8251189

com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout

JDK-8251241

macOS: iconify property doesn’t change after minimize when resizable is false

JDK-8251257

NMT: jcmd VM.native_memory scale=1 crashes target VM

JDK-8251365

Build failure on AIX after 8250636

JDK-8251397

NPE on ClassValue.ClassValueMap.cacheArray

JDK-8251456

[TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError

JDK-8251458

Parse::do_lookupswitch fails with “assert(_cnt >= 0) failed”

JDK-8251535

Partial peeling at unsigned test adds incorrect loop exit check

JDK-8251858

Update to Xcode 11.3.1

JDK-8251949

ZGC: Set explicit heap size for compiler/gcbarriers tests

JDK-8252060

gstreamer fails to build with gcc 10

JDK-8252062

WebKit build fails with recent VS 2019 compiler

JDK-8252090

JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)

JDK-8252191

Update to gcc 10.2 on Linux

JDK-8252415

Bump update version for OpenJDK: jdk-11.0.10

JDK-8252470

java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows

JDK-8252497

Incorrect numeric currency code for ROL

JDK-8252660

Shenandoah: support manageable SoftMaxHeapSize option

JDK-8252679

Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard

JDK-8252696

Loop unswitching may cause out of bound array load to be executed

JDK-8252754

Hash code calculation of JfrStackTrace is inconsistent

JDK-8253219

Epsilon: clean up unnecessary includes

JDK-8253224

Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()

JDK-8253226

Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify

JDK-8253269

The CheckCommonColors test should provide more info on failure

JDK-8253284

Zero OrderAccess barrier mappings are incorrect

JDK-8253375

OSX build fails with Xcode 12.0 (12A7209)

JDK-8253778

ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads

JDK-8253791

Issue with useAppleColor check in CSystemColors.m

JDK-8254016

Test8237524 fails with -XX:-CompactStrings option

JDK-8254081

java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate

JDK-8254100

FX: Update copyright year in docs, readme files to 2021

JDK-8254144

Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp

JDK-8254166

Zero: return-type warning in zeroInterpreter_zero.cpp

JDK-8254177

(tz) Upgrade time-zone data to tzdata2020b

JDK-8254185

Fix Code cache sweeper heuristics for JDK 11

JDK-8254190

[s390] interpreter misses exception check after calling monitorenter

JDK-8254790

SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics

JDK-8254854

[cgroups v1] Metric limits not properly detected on some join controller combinations

JDK-8254982

(tz) Upgrade time-zone data to tzdata2020c

JDK-8255050

Add pkcs11/KeyStore/ClientAuth.sh to Problem list

JDK-8255065

Zero: accessor_entry misses the IRIW case

JDK-8255226

(tz) Upgrade time-zone data to tzdata2020d

JDK-8255269

Unsigned overflow in g1Policy.cpp

JDK-8255365

Problem list failing client manual tests

JDK-8255457

Shenandoah: cleanup ShenandoahMarkTask

JDK-8255466

C2 crashes at ciObject::get_oop() const+0x0

JDK-8255550

x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect

JDK-8255603

Memory/Performance regression after JDK-8210985

JDK-8255760

Shenandoah: match constants style in ShenandoahMarkTask fallback

JDK-8255937

Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java

JDK-8256264

Printed GlyphVector outline with low DPI has bad quality on Windows

JDK-8256427

Test com/sun/jndi/dns/ConfigTests/PortUnreachable.java does not work on AIX

JDK-8256452

Integrate missing part of JDK-8232370 to 11u

JDK-8256483

[TESTBUG] serviceability/jvmti/GetClassMethods/libOverpassMethods.c fails to compile on gcc 4.4.x

JDK-8256557

libharfbuzz fails to link on gcc 4.4.x due to -Wl,-z,defs

JDK-8256618

Zero: Linux x86_32 build still fails

JDK-8256736

Zero: GTest tests fail with “unsuppported vm variant”

JDK-8256809

Annotation processing causes NPE during flow analysis

JDK-8257181

s390x builds are very noisy with gc-sections messages

JDK-8257242

[macOS] Java app crashes while switching input methods

JDK-8257545

SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport

JDK-8257641

Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false

JDK-8257701

Shenandoah: objArrayKlass metadata is not marked with chunked arrays

ON THIS PAGE