Axiom JDK 22.0.1+10: Примечания к выпуску

Скачать как PDF

1. Введение

В этом документе содержится последняя информация о выпуске Axiom JDK 22.0.1+10.

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

2. Axiom JDK 22.0.1+10

Axiom JDK является сертифицированным Java SE 22-совместимым дистрибутивом OpenJDK 22, который работает на серверах (Linux x86_64, Linux ARM64, Windows 64), настольных компьютерах (Windows 64, Mac OS x86_64, Mac OS AArch64, 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 и aarch64 построены с поддержкой musl.

  • Версии для Windows x86_64, Windows ARMv8, Mac, Linux x86_64 и Linux ARMv7 содержат OpenJFX 22.

  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

Прекращение поддержки некоторых ОС

Обратите внимание, что Axiom JDK 22.0.1 недоступен для следующих операционных систем и не может быть запущен на них:

  • Windows x86 (32-bit)

  • macOS 10.x

3. Поставка Axiom JDK 22

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

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

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

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

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

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

Следующий список содержит исправления уязвимостей для версии 22.0.1.

CVE ID CVSS score Component Module Attack Vector Complexity Privileges User Interaction Scope Confidentiality Integrity Availability

CVE-2023-41993

7.5

javafx

web

network

high

none

required

unchanged

high

high

high

CVE-2024-21002

2.5

javafx

graphics

local

high

none

required

unchanged

none

low

none

CVE-2024-21003

3.1

javafx

graphics

network

high

none

required

unchanged

none

low

none

CVE-2024-21004

2.5

javafx

window-toolkit

local

high

none

required

unchanged

none

low

none

CVE-2024-21005

3.1

javafx

graphics

network

high

none

required

unchanged

none

low

none

CVE-2024-21011

3.7

hotspot

runtime

network

high

none

none

unchanged

none

none

low

CVE-2024-21012

3.7

core-libs

java.net

network

high

none

none

unchanged

none

low

none

CVE-2024-21068

3.7

hotspot

compiler

network

high

none

none

unchanged

none

low

none

5. Известные проблемы

Следующий список содержит известные проблемы для версии 22.0.1.

ID проблемы

JDK-8322567

Резюме: Увеличивается время запуска при использовании -XX:StartFlightRecording

Описание: Увеличение времени запуска на 10% можно наблюдать при использовании опции '-XX:StartFlightRecording' для небольших приложений.

Временное решение: Н/Д

JDK-8325737

Резюме: Files.ReadString может возвращать неверную строку при использовании UTF-16 или других кодировок

Описание: Строки, считанные с помощью java.nio.files.Files.ReadString, могут возвращать неверные строки при декодировании с использованием кодировки, отличной от US-ASCII, ISO08859-1 или UTF-8. Чтение строк с другими многобайтовыми кодировками, такими как UTF_16, может привести к неверным результатам.

Временное решение: Проблему можно обойти запустив JDK 22 с опцией -XX:-CompactStrings, чтобы отключить использование 'компактных строк'.

Н/Д

Резюме: AxiomFX и EGL на ОС Raspbian

Описание: С 2017 года в Raspbian OS изменилось расположение бибилитек libEGL.so и libGLESv2.so для чипа Broadcom.

Временное решение: Если вы хотите использовать аппаратное ускорение EGL, доступное в видеодрайверах Broadcom в AxiomFX, при работе в Raspbian OS, выполните следующие команды: 1. cd /opt/vc/lib 2. sudo ln -s libbrcmEGL.so libEGL.so 3. sudo ln -s libbrcmGLESv2.so libGLESv2.so

6. Важные исправления

Следующий список содержит важные исправления для версии 22.0.1.

ID проблемы

JDK-8322557

Резюме: Неверное описание полученное с помощью @param/@return для ZoneRules#isDaylightSavings()

Описание: Описание было исправлено следующим образом: «ZoneRules#getStandardOffset() имеет значение true, если указанный инстанс находится в режиме перехода на летнее и зимнее время, в противном случае — false».

JDK-8324353

Резюме: KEM.getInstance() должен проверять, подписан ли сторонний поставщик безопасности.

Описание: При создании экземпляра реализации (класса) алгоритма KEM стороннего поставщика безопасности платформа определит базу кода поставщика (файл JAR) и проверит его подпись. Таким образом, JCA аутентифицирует провайдера и гарантирует, что к JCA могут быть подключены только провайдеры, подписанные доверенным лицом. Это согласуется с другими классами обслуживания JCE, такими как Cipher, Mac, KeyAgreement и другими.

JDK-8324366

Резюме: Уточнение системных свойств, связанных с локалью

Описание: Расширено описание следующих системных свойств: user.language, user.script, user.country (раньше было user.region, все еще существует для совместимости), user.variant, user.extensions.

JDK-8324371

Резюме: На странице описания свойств системы отсутствуют некоторые свойства

Описание: Страница https://docs.oracle.com/en/java/javase/21/docs/api/system-properties.html была обновлена и теперь включает все системные свойства, такие как user.language, user.country, user.variant и другие.

JDK-8324383

Резюме: SegmentAllocator:allocateFrom(ValueLayout, MemorySegment,ValueLayout,long,long) несоответствие спецификации в определенном сценарии

Описание: Описание было исправлено, чтобы соответствовать поведению SegmentAllocator:allocateFrom(ValueLayout,MemorySegment,ValueLayout,long,long).

JDK-8324407

Резюме: Добавление текста про обнуление памяти в Arena::allocate

Описание: Был добавлен следующий текст: 'Сегменты памяти выделенные с помощью {@linkplain #allocate(long, long) allocated}, инициализируются с нулевым значением.

JDK-8325605

Резюме: Регрессия UTF-16 в строках с циклическим обменом после JDK-8311906

Описание: 'java.nio.files.Files.readString`, может возвращать неверные строки при декодировании с использованием кодировки, отличной от US-ASCII, ISO08859-1 или UTF-8. См. раздел Известные проблемы.

JDK-8326323

Резюме: Тест «api/java_awt/interactive/SystemTrayTests.html» не проходит, поскольку иконка добавляется за пределами панели задач.

Описание: При нажатии кнопки «Добавить значок в трей» иконка теперь добавляется в системный трей.

JDK-8326357

Резюме: Добавление корневых сертификатов Certainly R1 and E1

Описание: Корневые сертификаты Certainly Root R1 добавлены в хранилище доверенных сертификатов cacerts.

JDK-8326830

Резюме: Включить TrimNativeHeapInterval

Описание: TrimNativeHeapInterval теперь позволяет JVM периодически обрезать собственную выделенную память. Эта опция доступна только в Linux с glibc.

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

Исправления в JDK

Следующий список содержит дефекты, исправленные в JDK версии 22.0.1.

ID проблемы Резюме

JDK-8314164

java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout

JDK-8314275

Incorrect stepping in switch

JDK-8315708

Enhance HTTP/2 client usage

JDK-8317299

safepoint scalarization doesn’t keep track of the depth of the JVM state

JDK-8317804

com/sun/jdi/JdwpAllowTest.java fails on Alpine 3.17 / 3.18

JDK-8318158

RISC-V: implement roundD/roundF intrinsics

JDK-8318340

Improve RSA key implementations

JDK-8318603

Parallelize sun/java2d/marlin/ClipShapeTest.java

JDK-8318696

Do not use LFS64 symbols on Linux

JDK-8319382

com/sun/jdi/JdwpAllowTest.java shows failures on AIX if prefixLen of mask is larger than 32 in IPv6 case

JDK-8319851

Improve exception logging

JDK-8320890

[AIX] Find a better way to mimic dl handle equality

JDK-8321151

JDK-8294427 breaks Windows L&F on all older Windows versions

JDK-8321374

Add a configure option to explicitly set CompanyName property in VersionInfo resource for Windows exe/dll

JDK-8321408

Add Certainly roots R1 and E1

JDK-8321480

ISO 4217 Amendment 176 Update

JDK-8321489

Update LCMS to 2.16

JDK-8321815

Shenandoah: gc state should be synchronized to java threads only once per safepoint

JDK-8321972

test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform

JDK-8322092

Bump version numbers for 22.0.1

JDK-8322098

os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size

JDK-8322122

Enhance generation of addresses

JDK-8322159

ThisEscapeAnalyzer crashes for erroneous code

JDK-8322163

runtime/Unsafe/InternalErrorTest.java fails on Alpine after JDK-8320886

JDK-8322417

Console read line with zero out should zero out when throwing exception

JDK-8322725

(tz) Update Timezone Data to 2023d

JDK-8322772

Clean up code after JDK-8322417

JDK-8322783

prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output

JDK-8322790

RISC-V: Tune costs for shuffles with no conversion

JDK-8322945

Problemlist runtime/CompressedOops/CompressedClassPointers.java on AIX

JDK-8323021

Shenandoah: Encountered reference count always attributed to first worker thread

JDK-8323065

Unneccesary CodeBlob lookup in CompiledIC::internal_set_ic_destination

JDK-8323086

Shenandoah: Heap could be corrupted by oom during evacuation

JDK-8323154

C2: assert(cmp != nullptr && cmp→Opcode() == Op_Cmp(bt)) failed: no exit test

JDK-8323170

j2dbench is using outdated javac source/target to be able to build by itself

JDK-8323210

Update the usage of cmsFLAGS_COPY_ALPHA

JDK-8323331

fix typo hpage_pdm_size

JDK-8323428

Shenandoah: Unused memory in regions compacted during a full GC should be mangled

JDK-8323515

Create test alias "all" for all test roots

JDK-8323637

Capture hotspot replay files in GHA

JDK-8323657

Compilation of snippet results in VerifyError at runtime with --release 9 (and above)

JDK-8323664

java/awt/font/JNICheck/FreeTypeScalerJNICheck.java still fails with JNI warning on some Windows configurations

JDK-8323675

Race in jdk.javadoc-gendata

JDK-8323964

runtime/Thread/ThreadCountLimit.java fails intermittently on AIX

JDK-8324041

ModuleOption.java failed with update release versioning scheme

JDK-8324050

Issue store-store barrier after re-materializing objects during deoptimization

JDK-8324280

RISC-V: Incorrect implementation in VM_Version::parse_satp_mode

JDK-8324347

Enable "maybe-uninitialized" warning for FreeType 2.13.1

JDK-8324598

use mem_unit when working with sysinfo memory and swap related information

JDK-8324637

[aix] Implement support for reporting swap space in jdk.management

JDK-8324647

Invalid test group of lib-test after JDK-8323515

JDK-8324659

GHA: Generic jtreg errors are not reported

JDK-8324753

[AIX] adjust os_posix after JDK-8318696

JDK-8324937

GHA: Avoid multiple test suites per job

JDK-8325074

ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11

JDK-8325150

(tz) Update Timezone Data to 2024a

JDK-8325203

System.exit(0) kills the launched 3rd party application

JDK-8325213

Flags introduced by configure script are not passed to ADLC build

JDK-8325326

[PPC64] Don’t relocate in case of allocation failure

JDK-8325470

[AIX] use fclose after fopen in read_psinfo

JDK-8325496

Make TrimNativeHeapInterval a product switch

JDK-8325590

Regression in round-tripping UTF-16 strings after JDK-8311906

JDK-8325672

C2: allocate PhaseIdealLoop::_loop_or_ctrl from C→comp_arena()

JDK-8325876

crashes in docker container tests on Linuxppc64le Power8 machines

JDK-8326000

Remove obsolete comments for class sun.security.ssl.SunJSSE

JDK-8326101

[PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space

JDK-8326360

Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3

JDK-8326638

Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop

Исправления в JFX

Следующий список содержит дефекты, исправленные в JFX версии 22.0.1.

ID проблемы Резюме

JDK-8304008

Update README.md and CONTRIBUTING.md for jfx update repos

JDK-8311492

FontSmoothingType LCD produces wrong color when transparency is used

JDK-8313032

Enhanced handling of Glass

JDK-8313040

Enhanced Font handling

JDK-8313064

General enhancements of image handling

JDK-8313072

Enhanced handling of Fonts

JDK-8314147

Updated the PhongMaterial documentation

JDK-8318614

Update WebKit to 617.1

JDK-8318624

API docs specify incorrect default value for nodeOrientation property

JDK-8320441

Additonal fix for JDK-8313032

JDK-8322236

Build failure after JDK-8313064

JDK-8322703

Intermittent crash in WebView in a JFXPanel from IME calls on macOS

JDK-8323555

Change JavaFX release version to 22.0.1 in jfx22u

JDK-8323879

constructor Path(Path) which takes another Path object fail to draw on canvas html

JDK-8323880

Caret rendered at wrong position in case of a click event on RTL text

JDK-8324233

Update JPEG Image Decoding Software to 9f

JDK-8324326

Update ICU4C to 74.2

JDK-8324337

Cherry-pick WebKit 617.1 stabilization fixes

JDK-8325154

resizeColumnToFitContent is slower than it needs to be

JDK-8325258

Additional WebKit 617.1 fixes from WebKitGTK 2.42.5

JDK-8325550

Grammatical error in AnchorPane.setLeftAnchor (and other setters) javadoc

JDK-8325873

Update JDK_DOCS property to point to JDK 21 docs

JDK-8326989

Text selection issues on WebView after WebKit 617.1

JDK-8327177

macOS: wrong GlobalRef deleted in GlassMenu

JDK-8327979

Change JavaFX release version to 22.0.2 in jfx22u

JDK-8328136

Create release notes for JavaFX 22

JDK-8328749

Remove unused imports in javafx.web

JDK-8328752

Fix missing @Overrides in javafx.web

Обратно на страницу загрузки
Команда 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