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

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 разработчик
395 вакансий

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн