![](https://webcf.waybackmachine.org/web/20240316164659im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/95e/703/c70/95e703c70d7e6d83b2d39103c1bddf41.png)
Оригинал тут.
Из-за бага в 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 пока Эппл не починит баг.
Ссылочка на тикет.