Примечания к релизу Axiom JDK 11.0.4

Данный релиз соответствует OpenJDK 11.0.4+12, номер версии Axiom JDK - 11.0.4.

Axiom JDK 11.0.4

Axiom является сертифицированным Java SE 11-совместимым дистрибутивом OpenJDK 11, который работает на серверах (Linux x86_64, Linux ARM64, Solaris SPARC, Solaris x64, Windows 64), настольных компьютерах (Windows 64, Windows 32, Mac, Linux x86_64) и встроенных устройствах (Linux ARM64, Linux ARMv7, включая Raspberry Pi 2 & 3 (ARMv6 hardfloat). Axiom JDK имеет следующие дополнения:

  • Версия для Linux x86_64 содержит экспериментальную поддержку ZGC.
  • В версии для Linux x86_64, ARMv8 и ARMv7 можно выбрать клиентскую виртуальную машину (Client VM), серверную виртуальную машину (Server VM) и минимальную виртуальную машину (Minimal VM).
  • Версия для Alpine Linux x86_64 построена с поддержкой musl.
  • Версии для Windows x86_64, Windows x86, Mac, Linux x86_64, Linux x86 и Linux ARMv7 содержат OpenJFX 11.
  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

Пожалуйста, прочитайте примечания к релизу Oracle JDK 11.0.5 для получения дополнительной информации о функционале JDK 11. В этом документе описываются особенности дистрибутива Axiom по сравнению с дистрибутивом Oracle JDK 11.

Поддерживаемые серверные и десктопные конфигурации

Axiom поддерживается в следующих ОС:

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv8)
  • Debian Linux 8, 9 (x86, x86_64, ARMv8)
  • Red Hat, Oracle Linux, CentOS 6.x, 7.x (x86, x86_64, ARMv8)
  • Alpine Linux 3.7+
  • SUSE Linux Enterprise 12, 15, tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+
  • Solaris 11.1+ (SPARC, x64)
  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (32 bit, 64 bit)

Также известно, Axiom JDK работает с некоторыми другими дистрибутивами Linux и версиями Windows.

Примечание: Минимальная поддерживаемая версия ядра Linux - 2.6.18, версия GLIBC - 2.6. AxiomFX работает на всех поддерживаемых версиях Ubuntu, семействе Red Hat Linux начиная с версии 7.x и SUSE с бэкэндом GTK2.

Поддерживаемые конфигурации для встраиваемых применений

Axiom протестирована и сертифицирована для Raspberry Pi 2 & 3 для следующих операционных систем:

  * Raspbian OS (armhf)   * OpenSUSE (armv8)

Также Axiom JDK работает на Debian (armhf) и Ubuntu (armhf).

Поставка Axiom JDK 11

Axiom JDK 11.0.4 распространяется в виде .msi, .dmg, .deb, .rpm, .zip и .tar.gz. Пожалуйста, выберите формат, который наиболее подходит для ваших целей.

Axiom 11 содержит весь функционал, поддерживаемый OpenJDK 11.

С появлением Jigsaw в JDK 9 и минимальной виртуальной машины (Minimal VM) теперь можно создать среду исполнения, достаточную для запуска приложения и в то же время оптимизированную по размеру. Чтобы создать среду выполнения только с минимальной виртуальной машиной, добавьте опцию - vm=minimal jlink.

По умолчанию Axiom использует серверную виртуальную машину (Server VM). Серверная виртуальная машина и клиентская виртуальная машина могут быть включены с помощью параметров командной строки -server и -client соответственно. В случае, если требуется минимальный размер среды исполенения, можно использовать Minimal VM, которая оптимизирована по размеру. Minimal VM имеет только компилятор C1 JIT, Serial GC и не имеет функционала Serviceability. Minimal VM можно включить параметром командной строки -minimal.

AxiomFX

Axiom JDK 11 поставляется в комплекте со сборкой платформы AxiomFX, основанной на OpenJFX. В следующих таблицах перечислены состояния модулей Java FX дистрибутива Axiom.

  • Java FX Graphics - поддерживается.
  • Java FX Controls - поддерживается.
  • Java FX Media - поддерживается*.
  • Java FX Webkit - поддерживается*.

* - за исключением сборок для armhf.

Для armhf работают следующие графические конвейеры: EGL, SW (direct framebuffer) и GTK. По умолчанию Axiom пытается использовать конвейер EGL, который требует наличия библиотек EGL. Если они не найдены, реализация возвращается к программному обеспечению.

Используйте следующие параметры командной строки, чтобы указать конвейер рендеринга:

  • -Dprism.order=sw - программный конвейер рендеринга.
  • -Dprism.order=es2 - EGL-конвейер и аппаратное ускорение.
  • -Djavafx.platform=gtk, если вы хотите запустить приложение AxiomFX, используя Axiom из X11.

Дополнительная информация доступна на следующей wiki странице.

Device IO API для Raspberry Pi

Axiom JDK 11 для armhf поставляется со встроенным модулем реализации API ввода-вывода (DIO) устройства OpenJDK. DIO предоставляет Java API для доступа к выводам Raspberry PI GPIO и для связи с периферийными устройствами:

  • Универсальный ввод / вывод (GPIO).
  • Межинтегральная шина (I2C), последовательный интерфейс (SPI).
  • Универсальный асинхронный приемник / передатчик (UART).

Дополнительная информация доступна на следующей wiki странице.

Известные особенности

AxiomFX и EGL на ОС Raspbian

С 2017 года в Raspbian OS изменилось расположение бибилитек libEGL.so и libGLESv2.so для чипа Broadcom. Если вы хотите использовать аппаратное ускорение EGL, доступное в видеодрайверах Broadcom в AxiomFX, при работе в Raspbian OS, выполните следующую команду:

cd /opt/vc/lib
sudo ln -s libbrcmEGL.so libEGL.so
sudo ln -s libbrcmGLESv2.so libGLESv2.so

Безопасность

BellSoft Axiom содержит исправления уязвимостей Oracle Java SE. Пожалуйста, обратитесь к документации Oracle для получения деталей о проблемах, исправленных в данной версии.

Дефекты, исправленные в этом релизе

Issue Description
6913047 Long term memory leak when using PKCS11 and JCE exceeds 32 bit process address space
8139178 Wrong fontMetrics when printing in Landscape (OpenJDK)
8163805 hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java failed with timed out
8170494 JNI exception pending in PlainDatagramSocketImpl.c
8174691 [TESTBUG] A number of native hotspot unit tests fail when executed in stand-alone mode
8179098 Crypto AES/ECB encryption/decryption performance regression (introduced in jdk9b73)
8181143 Introduce diagnostic flag to abort VM on too long VM operations
8188133 C2: Static field accesses in clinit can trigger deoptimizations
8190361 Incorrect version info in jaccessinspector.exe and jaccesswalker.exe
8195793 Remove GTE CyberTrust Global Root
8200286 (testbug) MOptionTest test fails with java.lang.AssertionError: Classfiles too old!
8200613 SA: jstack throws UnmappedAddressException with a CDS core file
8201317 X25519/X448 code improvements
8201633 Problems with AES-GCM native acceleration
8202353 os::readdir should use readdir instead of readdir_r
8202414 Unsafe write after primitive array creation may result in array length change
8202651 Test ComodoCA.java fails
8202794 Native Unix code should use readdir rather than readdir_r
8202884 SA: Attach/detach might fail on Linux if debugee application create/destroy threads during attaching
8204308 SA: serviceability/sa/TestInstanceKlassSize*.java fails when running in CDS mode
8205432 Replace the placeholder Japanese era name
8205574 Loop predication “assert(f <= 1 && f >= 0) failed Incorrect frequency”
8205611 Improve the wording of LinkageErrors to include module and class loader information
8206955 MethodHandleProxies.asInterfaceInstance does not support default methods
8207340 (fs) UnixNativeDispatcher close and readdir usages should be fixed
8207760 SAXException: Invalid UTF-16 surrogate detected: d83c ?
8208634 Add x-IBM-1129 charset
8208648 ECC Field Arithmetic Enhancements
8208656 Move java/util/Calendar/CalendarTestScripts tests into OpenJDK
8208698 Improved ECC Implementation
8208702 javax/swing/reliability/HangDuringStaticInitialization.java may hang on macos
8208996 X11 icon window color handing bug
8209055 c.s.t.javac.code.DeferredCompletionFailureHandler seems to use WeakHashMap incorrectly
8209414 AArch64: method handle invocation does not respect JVMTI interp_only mode
8209415 Fix JVMTI test failure HS202
8209573 [TESTBUG] gc/epsilon/TestMemoryMXBeans should retry on failure
8209914 javadoc search sometimes generates bad URIs
8209951 Problematic sparc intrinsic: com.sun.crypto.provider.CipherBlockChaining
8210008 custom extension for make/SourceRevision.gmk
8210197 javac can’t tell during speculative attribution if a diamond expression is creating an anonymous inner class or not
8210283 Support git as an SCM alternative in the build
8210320 PPC64: Fix uninitialized variable in C1 LIR assembler code
8210457 JVM crash in ResolvedMethodTable::add_method(Handle)
8210483 AssertionError in DeferredAttr at setOverloadKind caused by JDK-8203679
8210519 build/releaseFile/CheckSource.java failed additional sources found
8210633 Cannot parse JapaneseDate string with DateTimeFormatterBuilder Mapped-values
8210739 Calling JSpinner’s setFont with null throws NullPointerException
8210782 Upgrade HarfBuzz to the latest 2.3.1
8210803 Compilation failure in codeBlob.cpp for Windows 32-bit
8210837 Add libXrandr-devel to the Linux devkits
8210863 Remove Xrandr include files from JDK sources
8210880 Remove HPKeysym.h from JDK sources
8210886 Remove references in xwindows.md to non-existent files.
8210899 (zipfs) ZipFileSystem.EntryOutputStreamCRC32 mistakenly set the crc32 value into size field
8211266 [TESTBUG] ZipFSTester.java failed intermittently in ZipFSTester.checkRead(): bound must be positive
8211350 Remove jprt support
8211393 Memory leak issue on awt_InputMethod.c
8211435 Exception in thread “AWT-EventQueue-1” java.lang.IllegalArgumentException: null source
8211698 Crash in C2 compiled code during execution of double array heavy processing code
8211810 X11 Time stamp data should be unsigned
8211826 StringIndexOutOfBoundsException happens via GetStringUTFRegion()
8211841 [testbug] sun/nio/cs/OLD/TestIBMDB.java does not compile (aix)
8211969 test/jdk/lib/security/CheckBlacklistedCerts.java searching for wrong paths
8211971 Move security/cacerts/VerifyCACerts.java and security/CheckBlacklistedCerts.java
8212202 [Windows] Exception if no printers are installed.
8212205 VM asserts after CDS archive has been unmapped
8212328 Exceptional throw cases
8212562 To remove lib/security from test/jdk/TEST.groups
8212676 AWT SystemColor setting on CDE
8212677 X11 default visual support for IM status window on VNC
8212678 Windows IME related patch
8212794 IBM-964 is required for AIX default charset
8212828 (process) Provide a way for Runtime.exec to use posix_spawn on linux
8213015 Inconsistent settings between JFR.configure and -XX:FlightRecorderOptions
8213213 Remove src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h
8213292 Input freezes after MacOS key-selector (press&hold) usage on macOS Mojave
8213294 Upgrade IANA LSR data
8213431 Improve file protocol handling
8213432 Better copies of CopiesList
8213515 Improve freetype detection on linux/ppc64/ppc64le/s390x
8213614 DnD operation change feature does not work with 64bit big endian CPU
8213617 JFR should record the PID of the recorded process
8213618 IBM970 charset has missing entry and remove unexpected entries
8213825 assert(false) failed: Non-balanced monitor enter/exit! Likely JNI locking
8213944 Fix AIX build after the removal of Xrandr.h and add a configure check for it
8214002 Cannot use italic font style if the font has embedded bitmap
8214109 XToolkit is not correctly displayed color on 16-bit high color setting
8214111 There is no icon in all JOptionPane target image
8214112 The whole text in target JPasswordField image are not selected
8214252 Expanded & Collapsed nodes of a JTree look the same on GTK3
8214253 Tooltip is transparent rather than having a black background
8214468 jQuery UI upgrade from 1.11.4 to 1.12.1
8214533 IBM-29626C is required for AIX default charset
8214765 All TrayIcon MessageType icons does not show up with gtk3 option set
8214935 Upgrade IANA LSR data
8215026 Incorrect amount of memory unmapped with ImageFileReader::close()
8215123 Crash in runtime image built with jlink –compress=2
8215284 Reduce noise induced by periodic task getFileSize()
8215296 do not disable c99 on Solaris
8215342 [Zero] Build fails after JDK-8200613
8215364 JavaFX crashes on Ubuntu 18.04 with Wayland while using Swing-FX interop
8215374 32-bit build failures after JDK-8181143 (Introduce diagnostic flag to abort VM on too long VM operations)
8215398 -Xlog option usage => Invalid decorator ‘\temp\app_cds.log’.
8215443 The use of TransportContext.fatal() leads to bad coding style
8215472 (zipfs) Cleanups in implementation classes of jdk.zipfs and tests
8215707 [macosx] fix pthread_getschedparam and pthread_setschedparam calls
8215757 C2: PhaseIdealLoop::create_new_if_for_predicate() computes wrong IDOM
8215790 Delegated task created by SSLEngine throws java.nio.BufferUnderflowException
8216045 The size of key_exchange may be wrong on FFDHE
8216355 missing NULL checks in libnet in interface iteration and potential resource leak in getMacAddress
8216381 More limited privilege usage
8216556 Unnecessary liveness computation with JVMTI
8216577 Add GlobalSign’s R6 Root certificate
8216597 SIGBUS in Java_sun_security_pkcs11_wrapper_PKCS11_getNativeKeyInfo after JDK-6913047
8216970 condy causes JVM crash
8217088 Disable JDK-6913047 fix (SunPKCS11 memory leak) after JDK-8216597 (SIGBUS error in getNativeKeyInfo)
8217094 HttpClient SSL race if a socket IOException is raised before ALPN is available
8217263 Automate DashOffset test
8217311 Improve Exception thrown when MulticastSocket.setInterface fails on AIX(Unix)
8217563 Improve realm maintenance
8217564 idempotent protection missing in crc32c.h
8217647 JFR: recordings on 32-bit systems unreadable
8217690 Update public suffix version
8217707 JNICALL declaration breaks Splash screen functions
8217765 Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed
8217786 Provide virtualization related info in the hs_error file on linux s390x
8217878 ENVELOPING XML signature no longer works in JDK 11
8217879 hs_err should print more instructions in hex dump
8217880 AIX build issue after JDK-8214533
8218020 Fix version number in mesa.md 3rd party legal file
8218060 JDK-8217786 breaks build due to remaining unused function
8218063 JDK-8218060 breaks build for S390
8218152 [javac] fails and exits with no error if a bad annotation processor provided
8218469 JSlider display issue with slider for GTKLookAndFeel
8218473 JOptionPane display issue with GTKLookAndFeel
8218479 JTextPane display issue with GTKLookAndFeel
8218618 Program fails when using JDK addressed by UNC path and using Security Manager
8218674 HTML Tooltip with “img=src” on component doesn’t show
8218733 SA: CollectedHeap provides broken implementation for used() and capacity()
8218781 Localized names for Japanese era Reiwa in COMPAT provider
8218811 replace open by os::open in hotspot coding
8218854 FontMetrics.getMaxAdvance may be less than the maximum FontMetrics.charWidth
8218863 Better endpoint checks
8218873 Improve JSSE endpoint checking
8218876 Improve PNG support options
8218960 CONFIG level logging statements printed in CLDRCalendarDataProviderImpl.java even when default log Level is INFO
8218991 s390: Add intrinsic for GHASH algorithm
8219006 AArch64: Register corruption in slow subtype check
8219011 Implement MacroAssembler::warn method on AArch64
8219112 name_and_sig_as_C_string usages in frame_s390 miss ResourceMark
8219335 “failed: unexpected type” assert failure in ConnectionGraph::split_unique_types() with unsafe accesses
8219389 Delegated task created by SSLEngine throws BufferUnderflowException
8219414 SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore
8219448 split-if update_uses accesses stale idom data
8219460 ppc: adjust NativeGeneralJump::insert_unconditional to stack allocated MacroAssembler
8219566 JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero
8219574 Minimal VM build failure after JDK-8219414
8219582 PPC: Crash after C1 checkcast patched and GC
8219584 Try to dump error file by thread which causes safepoint timeout
8219698 aarch64: SIGILL triggered when specifying unsupported hardware features
8219710 Bump update version for OpenJDK: jdk11.0.4
8219746 Provide virtualization related info in the hs_error file on linux ppc64 / ppc64le
8219775 Certificate validation improvements
8219890 Calendar.getDisplayName() returns empty string for new Japanese Era on some locales
8219915 [TESTBUG] Fix test langtools/tools/javac/processing/model/completionfailure/SymbolsDontCumulate.java in Standalone mode
8219918 ProblemList hotspot tests failing in SAP testing.
8220165 Encryption using GCM results in RuntimeException- input length out of bound
8220166 Performance regression in deserialization (4-6% in SPECjbb)
8220198 Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs
8220281 IBM-858 alias name is missing on IBM00858 charset
8220293 Deadlock in JFR string pool
8220349 The fix done for JDK-8214253 have caused issues in JTree behaviour
8220353 [TESTBUG] TestRegisterRestoring uses SafepointALot without UnlockDiagnosticVMOptions
8220374 C2: LoopStripMining doesn’t strip as expected
8220441 [PPC64] Clobber memory effect missing for memory barriers in atomics
8220495 Update GIFlib library to the 5.1.8
8220513 Wrapper Key may get deleted when closing sessions in SunPKCS11 crypto provider
8220517 Enhanced GIF support
8220625 tools/javac/classreader/8171132/BadConstantValue.java failed with “did not see expected error”
8220707 [TESTBUG] serviceability/sa/TestHeapDumpForLargeArray.java fails with jtreg -vmoption:-Xmx < 8g
8220714 C2 Compilation failure when accessing off-heap memory using Unsafe
8220718 Missing ResourceMark in nmethod::metadata_do
8220781 linux-s390 : os::get_summary_cpu_info gives bad output
8220794 PPC64: Fix signal handler for SIGSEGV on branch to illegal address
8221083 [ppc64] Wrong oop compare in C1-generated code
8221175 Fix bad function case for controlled JVM crash on PPC64 big-endian
8221244 Unexpected behavior of PropertyDescription.getReadMethod for boolean properties
8221263 [TEST_BUG] RemotePrinterStatusRefresh test is hard to use
8221304 Problem list java/awt/FontMetrics/MaxAdvanceIsMax.java
8221345 Better Poly1305 support
8221400 java/lang/String/StringRepeat.java test requests too much heap
8221401 java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms
8221412 lookupPrintServices() does not always update the list of Windows remote printers
8221437 assert(java_lang_invoke_ResolvedMethodName::vmtarget(resolved_method()) == m()) failed: Should not change after link resolution
8221470 Print methods in exception messages in java-like Syntax.
8221479 Fix JFR profiling on s390
8221483 TestOopCmp.java fails due to “Multiple garbage collectors selected”
8221518 Normalize normalization
8221535 add steal tick related information to hs_error file [linux]
8221610 Resurrect (legacy) JRE bundle target
8221639 [i386] expand_exec_shield_cs_limit workaround is undefined code after JDK-8199717
8221833 Readability check in Symbol::is_valid not performed for some addresses
8221870 use driver to run CtwRunner in applications/ctw tests
8221880 Better customization for Windows RC properties FileDescription and ProductName
8221915 cleanup ticks related coding in os_perf_aix.cpp [aix]
8221917 serviceability/sa/TestPrintMdo.java fails on 32-bit platforms
8221924 get(null) on single-entry unmodifiable Map returns null instead of throwing NPE
8222027 java/util/logging/LogManager/TestLoggerNames.java generates intermittent ClassCastException
8222032 x86_32 fails with “wrong size of mach node” on AVX-512 machine
8222089 [TESTBUG] sun/security/lib/cacerts/VerifyCACerts.java fails due to cert within 90-day expiry window
8222133 Add temporary exceptions for root certs that are due to expire soon
8222136 Remove two Comodo root CA certificates that are expiring
8222137 Remove T-Systems root CA certificate
8222397 x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers
8222410 java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile hangs when “nc” does not accept “-U”
8222522 Add configure options for Mac Bundle creation
8222532 (zipfs) Performance regression when writing ZipFileSystem entries in parallel
8222678 Improve TLS negotiation
8222913 Add Jib support for VERSION_EXTRA*
8222930 ConcurrentSkipListMap.clone() shares size variable between original and clone
8223266 PPC64: Check for branch to illegal address before checking for mem serialization
8223395 PPC64: Improve comments in the JVM signal handler to match ISA text
8223499 Remove two DocuSign root certificates that are expiring
8223555 Cleanups in cacerts tests
8223597 jdk/nio/zipfs/ZipFSTester.java RuntimeException: CHECK_FAILED! (getAttribute.crc failed 6af4413c vs 0 ...)
8223665 SA: debugd options should follow jhsdb style
8224474 harfbuzz 2.3.1 code fails to compile with gcc 4.4.7
8224671 AArch64: mauve System.arraycopy test failure
8224727 Problem list test security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java
8224828 aarch64: rflags is not correct after safepoint poll
8224880 AArch64: java/javac error with AllocatePrefetchDistance
8225402 events logging in deoptimization.cpp should go to deopt-log
8225716 G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding
8226876 Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960
8226880 Backport of JDK-8208698 (Improved ECC Implementation) should not bring parts of JDK-8205476 (KeyAgreement#generateSecret is not reset for ECDH based algorithm)
Обратно на страницу загрузки
Команда Axiom JDK roman.karpov@axiomjdk.ru Команда Axiom JDK logo Axiom Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 Команда Axiom JDK 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67