ニュース

「macOS Sonoma 14.4」で「Java」がクラッシュ ~回避策なし、更新の延期の検討を【16:55追記】

Oracleが注意喚起。PFUの「ScanSnap Home」でも問題

Oracleによるアナウンス

 「macOS Sonoma 14.4」を適用した環境で、Javaプロセスが予期せず終了する問題が発生しているとのこと。米Oracleは3月15日(現地時間)、注意を喚起するブログ記事を公開した。

 この問題は「Java 8」から「JDK 22」の早期アクセスビルドを含むすべてのJavaバージョンに影響し、ARMベース(Apple Silicon)のAppleデバイスで発生するようだ。JetBrains社製の統合開発環境(IDE)などのアプリケーションが影響を受ける。

 「Java」はJIT(Just-in-Time)コンパイルと実行の際にOSのメモリ保護領域へアクセスすることがあるが、「macOS 14.4」へのアップデート前はmacOSカーネルから「SIGBUS」「SIGSEGV」というシグナルがプロセスに送信されていた。「Java」プロセスはこのシグナルを見て、処理を続行できる。

 しかし、「macOS 14.4」ではスレッドが書き込みモードで動作している場合、保護されたメモリ領域へのアクセスが試みられると、「SIGKILL」というシグナルを送信する。そのため、「Java」プロセスは無条件に終了してしまうという。この変更はプレビューテスト中の「macOS 14.4」には含まれておらず、正式リリース時に混入したようだ。

 「macOS 14.4」にはセキュリティ修正が含まれているため、本来はアップグレードを避けるべきではないが、この問題には回避策がなく、バックアップがなければOSを正常な状態に戻すのも難しい。そのため、同社は影響を受ける環境でアップグレードを控えるよう呼び掛けている。

 なお、「GraalVM」ネイティブイメージで作成されたAhead-of-Timeコンパイルされたアプリケーションは影響を受けないとのこと。ただし、新しいイメージをビルドするときに影響を受けることがある。

[2024年3月19日16時55分編集部追記] 「macOS 14.4」ではほかにも、PFUのScanSnap専用ソフトウェア「ScanSnap Home」が正常にセットアップできない問題などが報告されている。この問題はScanSnap iX1600/iX1500/iX1400/iX1300/iX100/iX500/SV600/S1300i/S1100に影響し、回避策を実施することで緩和できる可能性があるという。詳しくはPFUのFAQページを参照してほしい。