Из-за бага в macOS 14.4 процесс Java машины может неожиданно завершиться. Это касается всех версий Джавы от 8 до 22. Нет никакого способа избежать или обойти этот баг. И нет простого способа откатить обновление macOS.
Этого бага не было в бета версиях macOS 14.4. Он появился только в релизе.
В macOS на М1, М2 и М3 Арм процессорах есть фича которая управляет тем как и когда исполняемый код генерируется и выполняется в каждом потоке.
В нормальном режиме работы JVM обращается к защищенным областям памяти. До версии 14.4 macOS в таких случаях отправляло проссу сигналы SIGBUS или SIGSEGV. ПРоцесс могу сам решить что с ним делать и продолжать ли работу. В версии 14.4 когда процесс пытается писать в защищенную область памяти masOS отправляет ему SIGKILL. И процесс принудительно завершается.
JVM генерирет исполняемый код динамически. И использует защищенные области памяти для оптимизации и корректности своей работы. Из-за этого на macOS 14.4 JVM получает SIGKILL и завершается.
Предварительно скомпилированные нативные приложения GraalVM не подвержены этой проблеме. Но может возникнуть проблема со сборкой новых таких приложений.
Оракл предупредил своих клиентов, Эппл и сообщество OpenJDK об этой проблеме. Оракл рекомендует не обновлять ARM маки до версии 14.4 пока Эппл не починит баг.
Мдя уж... Еще недавно яблоко считалось островком стабильности. Дорогой чрезмерно, но стабильности. Но всё меняется, и мак деградирует, пристраиваясь вслед за мелкомягими и их 11-й виндой.
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Комментарии 5