Примечания к релизу Axiom JDK 17.0.5+8

Данный релиз соответствует OpenJDK 17.0.5+8, номер версии Axiom JDK - 17

Axiom JDK 17.0.5+8

Axiom является сертифицированным Java SE 17-совместимым дистрибутивом OpenJDK 17, который работает на серверах (Linux x86_64, Linux ARM64, 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, Windows ARMv8, Mac, Linux x86_64, Linux x86 и Linux ARMv7 содержат OpenJFX 17.
  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

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

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

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

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv7, ARMv8)
  • Debian Linux 8, 9 (x86, x86_64, ARMv7, ARMv8)
  • Red Hat, Oracle Linux и CentOS 8x, 6.x, 7.x (x86, x86_64, ARMv7, ARMv8)
  • Alpine Linux 3.7+
  • SUSE Linux Enterprise 12, 16, tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+ (x86_64, ARMv8)
  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (x86, x86_64, ARMv8)

Также известно, 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 и 4 под управлением следующих ОС:

  • Raspbian OS (armhf)
  • OpenSUSE (armv8)

Также есть успешный опыт запуска и работы на Debian (armhf) и Ubuntu (armhf).

Поставка Axiom JDK 17

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

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

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

Axiom JDK продолжает поддерживать AOT и Graal JIT. Поскольку в сборках OpenJDK 17 эти экспериментальные функции признаны устаревшими, для безошибочной компиляции нативных образов рекомендуется использовать Axiom Native Image Kit.

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

AxiomFX для Raspberry Pi

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

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

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

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

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

* Не поддерживается на Raspberry Pi 4.

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

Device IO API для Raspberry Pi

Axiom JDK 17 для 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

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

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

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

Issue Description
8292609 Cherry-pick WebKit 614.1 stabilization fixes
8291630 Update attribution in webkit.md file
8286774 Replace openjdk.java.net with openjdk.org
8288450 Update attribution in gstreamer.md file 8288449: Update attribution in glib.md file
8291051 Update boot JDK to 17.0.4
8285881 Update WebKit to 614.1
8284676 TreeTableView loses sort ordering when applied on empty table
8289952 Visual Studio libs msvcp140_1.dll and msvcp140_2.dll missing from build
8289587 IllegalArgumentException: Color.rgb’s red parameter (-16776961) expects color values 0-255
8088420 JavaFX WebView memory leak via EventListener
8283786 Update to Visual Studio 2022 version 17.1.0 on Windows
8291038 Change JavaFX release version to 17.0.5 in jfx17u
8286918 Better HttpServer service
8286910 Improve JNDI lookups
8286519 Better memory handling
8295056 [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
8289366 Improve HTTP/2 client usage
8288508 Enhance ECDSA usage
8287446 Enhance icon presentations
8286526 Improve NTLM support
8286511 Improve macro allocation
8286077 Wider MultiByte conversions
8285662 Better permission resolution
8282252 Improve BigInteger/Decimal validation
8292579 (tz) Update Timezone Data to 2022c
8275887 jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
8028265 Add legacy tz tests to OpenJDK
8290456 remove os::print_statistics()
8288985 P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
8287463 JFR: Disable TestDevNull.java on Windows
8289695 [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
8227651 Tests fail with SSLProtocolException: Input record too big
8212096 javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
8284950 CgroupV1 detection code should consider memory.swappiness
8272417 ZGC: fastdebug build crashes when printing ClassLoaderData
6782021 It is not possible to read local computer certificates with the SunMSCAPI provider
8282947 JFR: Dump on shutdown live-locks in some conditions
8288000 compiler/loopopts/TestOverUnrolling2.java fails with release VMs
8279032 compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
8289127 Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
8285730 unify _WIN32_WINNT settings
8289910 unify os::message_box across posix platforms
8291633 Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
8283903 GetContainerCpuLoad does not return the correct result in share mode
8288399 MacOS debug symbol files not always deterministic in reproducible builds
8289549 ISO 4217 Amendment 172 Update
8283277 ISO 4217 Amendment 171 Update
8280944 Enable Unix domain sockets in Windows Selector notification mechanism
8285693 Create an automated test for JDK-4702199
8284077 Create an automated test for JDK-4170173
8285617 Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
8289471 Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
8291595 [17u] Delete files missed in backport of 8269039
8283624 Create an automated regression test for RFE-4390885
8223543 [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
8284535 Fix PrintLatinCJKTest.java test that is failing with Parse Exception
8283712 Create a manual test framework class
8283245 Create a test for JDK-4670319
8283507 Create a regression test for RFE 4287690
8282933 Create a test for JDK-4529616
8283621 Write a regression test for CCC4400728
8283623 Create an automated regression test for JDK-4525475
8288992 AArch64: CMN should be handled the same way as CMP
8283015 Create a test for JDK-4715496
8283493 Create an automated regression test for RFE 4231298
8282789 Create a regression test for the JTree usecase of JDK-4618767
8280913 Create a regression test for JRootPane.setDefaultButton() method
8269556 sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException ‘JShellToolProvider’ missing from stdout/stderr
8275689 [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
8257534 misc tests failed with “NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom”
8270312 Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
8290417 CDS cannot archive lamda proxy with useImplMethodHandle
8290334 Update FreeType to 2.12.1
8290246 test fails “assert(init != __null) failed: initialization not found”
8286314 Trampoline not created for far runtime targets outside small CodeCache
8284358 Unreachable loop is not removed from C2 IR, leading to a broken graph
8282351 jpackage does not work if class file has $$ in the name on windows
8283803 Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
8284898 Enhance PassFailJFrame
8283723 Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
8264792 The NumberFormat for locale sq_XK formats price incorrectly.
8283911 DEFAULT_PROMOTED_VERSION_PRE not reset to ‘ea’ for jdk-17.0.4
7131823 bug in GIFImageReader
8282860 Write a regression test for JDK-4164779
8288781 C1: LIR_OpVisitState::maxNumberOfOperands too small
8289853 Update HarfBuzz to 4.4.1
8273506 java Robot API did the ‘m’ keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
8284067 jpackage’d launcher reports non-zero exit codes with error prompt
8283087 Create a test or JDK-4715503
8282548 Create a regression test for JDK-4330998
8282234 Create a regression test for JDK-4532513
8282343 Create a regression test for JDK-4518432
8169468 NoResizeEventOnDMChangeTest.java fails because FS Window didn’t receive all resizes!
6854300 [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
8017175 [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
8255724 [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
8272736 [JVMCI] Add API for reading and writing JVMCI thread locals
8277493 [REDO] Quarantined jpackage apps are labeled as “damaged”
8282007 Assorted enhancements to jpackage testing framework
8278233 [macos] tools/jpackage tests timeout due to /usr/bin/osascript
8290020 Deadlock in leakprofiler::emit_events during shutdown
8289486 Improve XSLT XPath operators count efficiency
8287125 [macos] Multiple jpackage tests fail/timeout on same host
8286122 [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
8281738 Create a regression test for checking the ‘Space’ key activation of focused Button
8281988 Create a regression test for JDK-4618767
8281745 Create a regression test for JDK-4514331
8281535 Create a regression test for JDK-4670051
8279370 jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
8278311 Debian packaging doesn’t work
8276837 [macos]: Error when signing the additional launcher
8271344 Windows product version issue
8290000 Bump macOS GitHub actions to macOS 11
8280233 Temporarily disable Unix domain sockets in Windows PipeImpl
8282280 Update Xerces to Version 2.12.2
8277429 Conflicting jpackage static library name
8274856 Failing jpackage tests with fastdebug/release build
8285097 Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
8288499 Restore cancel-in-progress in GHA
8284014 Menu items with submenus in JPopupMenu are not spoken on macOS
8282407 Missing ‘)’ in MacResources.properties
8272815 jpackage –type rpm produces an error: Invalid or unsupported type: [null]
8273040 Turning off JpAllowDowngrades (or Upgrades)
8288003 log events for os::dll_unload
8287906 Rewrite of GitHub Actions (GHA) sanity tests
8274434 move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
8289147 unify os::infinite_sleep on posix platforms
8290082 [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
8289856 [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
8290004 [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
8288599 com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size … but getTotalSwapSpaceSize returned …
8287902 UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
8272352 Java launcher can not parse Chinese character when system locale is set to UTF-8
8287896 PropertiesTest.sh fail on msys2
8287724 Fix various issues with msys2
8286573 Remove the unnecessary method Attr#attribTopLevel and its usage
8287895 Some langtools tests fail on msys2
8280863 Update build README to reflect that MSYS2 is supported
8289697 buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
8254318 Remove .hgtags
8289799 Build warning in methodData.cpp memset zero-length parameter
8278609 [macos] accessibility frame is misplaced on a secondary monitor on macOS
8286266 [macos] Voice over moving JTable column to be the first column JVM crashes
8278612 [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
8289477 Memory corruption with CPU_ALLOC, CPU_FREE on muslc
8284977 MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn’t exist
8287735 Provide separate event category for dll operations
8286277 CDS VerifyError when calling clone() on object array
8289569 [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
8276546 [IR Framework] Whitelist and ignore CompileThreshold
8269039 Disable SHA-1 Signed JARs
8287917 System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
8288360 CI: ciInstanceKlass::implementor() is not consistent for well-known classes
8287432 C2: assert(tn->in(0) != __null) failed: must have live top node
8286625 C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
8278067 Make HttpURLConnection default keep alive timeout configurable
8256844 Make NMT late-initializable
8281181 Do not use CPU Shares to compute active processor count
8284944 assert(cnt++ < 40) failed: infinite cycle in loop optimization
8284294 Create an automated regression test for RFE 4138746
8282936 Write a regression test for JDK-4615365
8288467 remove memory_operand assert for spilled instructions
8287396 LIR_Opr::vreg_number() and data() can return negative number
8284680 sun.font.FontConfigManager.getFontConfig() leaks charset
8284956 Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
8289197 [17u] Push of backport of 8286177 did not remove assertion
8287366 Improve test failure reporting in GHA
8287672 jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
8287223 C1: Inlining attempt through MH::invokeBasic() with null receiver
8271078 jdk/incubator/vector/Float128VectorTests.java failed a subtest
8285923 [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
8287091 aarch64 : guarantee(val < (1ULL « nbits)) failed: Field too big for insn
8286177 C2: “failed: non-reduction loop contains reduction nodes” assert failure
8280696 C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
8286870 Memory leak with RepeatCompilation
8279622 C2: miscompilation of map pattern as a vector reduction
8282937 Write a regression test for JDK-4820080
8211002 test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
8286582 Build fails on macos aarch64 when using –with-zlib=bundled
8288754 GCC 12 fails to build zReferenceProcessor.cpp
8288303 C1: Miscompilation due to broken Class.getModifiers intrinsic
8283457 [macos] libpng build failures with Xcode13.3
8285081 Improve XPath operators count accuracy
8286211 Update PCSC-Lite for Suse Linux to 1.9.5
8284367 JQuery UI upgrade from 1.12.1 to 1.13.1
8286638 C2: CmpU needs to do more precise over/underflow analysis
8282555 Missing memory edge when spilling MoveF2I, MoveD2L etc
8265360 several compiler/whitebox tests fail with “private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled”
8274597 Some of the dnd tests time out and fail intermittently
8028998 [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed
8284521 Write an automated regression test for RFE 4371575
8282046 Create a regression test for JDK-8000326
8079267 [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
8282778 Create a regression test for JDK-4699544
8285380 Fix typos in security
8287113 JFR: Periodic task thread uses period for method sampling events
8284883 JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
8285301 C2: assert(!requires_atomic_access) failed: can’t ensure atomicity
8285696 AlgorithmConstraints:permits not throwing IllegalArgumentException when ‘alg’ is null
8285398 Cache the results of constraint checks
8284675 “jpackage.exe” creates application launcher without Windows Application Manfiest
8286429 jpackageapplauncher build fails intermittently in Tier[45]
8273115 CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
8282640 Create a test for JDK-4740761
8281569 Create tests for Frame.setMinimumSize() method
8282538 PKCS11 tests fail on CentOS Stream 9
8283562 JDK-8282306 breaks gtests on zero
8286869 unify os::dir_is_empty across posix platforms
8282306 os::is_first_C_frame(frame*) crashes on invalid link access
8284686 Interval of < 1 ms disables ExecutionSample events
8281297 TestStressG1Humongous fails with guarantee(is_range_uncommitted)
8274517 java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
8283849 AsyncGetCallTrace may crash JVM on guarantee
8287663 Add a regression test for JDK-8287073
8287073 NPE from CgroupV2Subsystem.getInstance()
8178969 [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
8283441 C2: segmentation fault in ciMethodBlocks::make_block_at(int)
8172065 javax/swing/JTree/4908142/bug4908142.java The selected index should be “aad”
8284694 Avoid evaluating SSLAlgorithmConstraints twice
8159694 HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
8285820 C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
8270090 C2: LCM may prioritize CheckCastPP nodes over projections
8287741 Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
8287107 CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
8264666 Change implementation of safeAdd/safeMult in the LCMSImageLayout class
8287824 The MTPerLineTransformValidation tests has a typo in the @run tag
8225122 Test AncestorResized.java fails when Windows desktop is scaled.
8281183 RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
8280950 RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
8280550 SplittableRandom#nextDouble(double,double) can return result >= bound
8283597 [REDO] Invalid generic signature for redefined classes
8282214 Upgrade JQuery to version 3.6.0
8281628 KeyAgreement : generateSecret intermittently not resetting
8282467 add extra diagnostics for JDK-8268184
8282477 [x86, aarch64] vmassert(_last_Java_pc == NULL, “already walkable”); fails with async profiler
8286114 [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
8240903 Add test to check that jmod hashes are reproducible
8287202 GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
8287016 Bump update version for OpenJDK: jdk-17.0.5
Обратно на страницу загрузки
Команда 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