Как стать автором
Обновить

Java падает на arm маках с macOS 14.4

Время на прочтение1 мин
Количество просмотров14K

Оригинал тут.

Из‑за бага в macOS 14.4 процесс Java машины может неожиданно завершиться. Это касается всех версий Джавы от 8 до 22. Нет никакого способа избежать или обойти этот баг. И нет простого способа откатить обновление macOS.

Этого бага не было в бета версиях macOS 14.4. Он появился только в релизе.

В macOS на М1, М2 и М3 Арм процессорах есть фича которая управляет тем как и когда исполняемый код генерируется и выполняется в каждом потоке.

В нормальном режиме работы JVM обращается к защищенным областям памяти. До версии 14.4 macOS в таких случаях отправляла процессу сигналы SIGBUS или SIGSEGV. Процесс мог сам решить что с ним делать и продолжать ли работу. В версии 14.4 когда процесс пытается писать в защищенную область памяти macOS отправляет ему SIGKILL. И процесс принудительно завершается.

JVM генерирет исполняемый код динамически. И использует защищенные области памяти для оптимизации и проверки корректности своей работы. Из‑за этого на macOS 14.4 JVM получает SIGKILL и завершается.

Предварительно скомпилированные нативные приложения GraalVM не подвержены этой проблеме. Но может возникнуть проблема со сборкой новых таких приложений.

Оракл предупредил своих клиентов, Эппл и сообщество OpenJDK об этой проблеме. Оракл рекомендует не обновлять ARM маки до версии 14.4 пока Эппл не починит баг.

Ссылочка на тикет.

Теги:
Хабы:
Всего голосов 16: ↑16 и ↓0+16
Комментарии37

Другие новости

Истории

Работа

Java разработчик
373 вакансии

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань