llama.cpp プロジェクトはビルド b10622 をリリースし、メモリ不足クラッシュを防ぐための Metal バックエンドの重要な修正が含まれています。このアップデートは、割り当て失敗により `ggml_metal_buffer_init` が NULL を返す際のチェックが行われておらず、ヌルポインタのデリファレンス時に `EXC_BAD_ACCESS` によるハードクラッシュを引き起こしていた問題を解決します。

  • metal: `ggml_backend_metal_buffer_type_alloc_buffer` 内の `ggml_metal_buffer_init` の結果に対して null チェックを追加し、OOM 条件を適切に処理できるようにしました。
  • cont: コードベース内のログ出力の問題を修正しました。

この変更により、iOS などのメモリ制約のあるデバイスでは、モデルやコンテキストが利用可能な Metal バジェットを超えた際にクラッシュするのではなく、診断可能なエラーを表示することが保証されます。