macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで

2024年3月19日

オラクルは、Appleシリコン搭載のMacでmacOS Sonoma 14.4にアップデートを行うと、Java 8以降のすべてのバージョンでJavaが予期せず終了する現象が発生するとして、Macユーザーに注意喚起を行っています

今のところ回避策はなく、macOSをバージョンアップしてしまうと元に戻す簡単な方法もないため、Appleシリコン搭載のマシンでJavaを利用している開発者やユーザーは、この問題が解決するまでは最新のmacOSへの移行を延期することをオラクルは勧めています。

オラクル、macOS Sonoma 14.4でJavaが予期せず終了すると注意喚起

Javaが正常に動作しないことで、Javaに依存しているツールもmacOS Sonoma 14.4では動作しなくなります。Kotlinの開発元などで知られるJetBrainsは、JetBrains IDEが動作しなくなることについて注意喚起しています。

macOS 14.4でJavaが予期せず終了する原因

オラクルによると、この問題はmacOS 14.4のアーリーアクセス版では発生していなかったとのことです。

macOS Sonoma 14.4でJavaが予期せず終了する原因についてオラクルは、JavaのJITコンパイルと実行のサイクルのなかでOSの保護メモリ領域にアクセスすると、以前のmacOSとは異なりSIGKILLシグナルがプロセスに送られるようになったためだと説明しています。

少し長いのですが、説明部分を引用します。

As a normal part of the just-in-time compile and execute cycle, processes running on macOS may access memory in protected memory regions. Prior to the macOS 14.4 update, in certain circumstances, the macOS kernel would respond to these protected memory accesses by sending a signal, SIGBUS or SIGSEGV, to the process. The process could then choose to handle the signal and continue execution. With macOS 14.4, when a thread is operating in the write mode, if a memory access to a protected memory region is attempted, macOS will send the signal SIGKILL instead. That signal cannot be handled by the process and the process is unconditionally terminated.

JITコンパイルおよび実行サイクルの通常の一部として、macOS上で実行されるプロセスは保護されたメモリ領域内のメモリにアクセスすることがあります。macOS 14.4アップデート以前は、特定の状況において、macOSカーネルはこれらの保護されたメモリに対するアクセスにはSIGBUSまたはSIGSEGVというシグナルをプロセスに送信することで応答していました。プロセスは送られたシグナルを処理して実行を続行できました。
macOS 14.4では、スレッドが書き込みモードで動作している場合、保護されたメモリ領域へのメモリアクセスが試みられると、macOSはSIGKILLを送信するようになりました。このシグナルはプロセスでは処理することはできず、プロセスは無条件に終了するのです。

この現象は「bugID JDK-8327860 : Java processes get killed, leaving no hs_err/stack trace on macOS 14.4」として登録され、以後管理されることになります。

2024年3月27日追記

Appleから本件の修正を含むアップデートが行われました。

あわせて読みたい

Java プログラミング言語 Apple




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本