llama.cpp 프로젝트는 메모리 부족 크래시를 방지하기 위한 Metal 백엔드의 중요한 수정 사항을 포함한 빌드 b10622를 출시했습니다. 이 업데이트는 할당 실패로 인해 `ggml_metal_buffer_init`이 NULL을 반환할 때 이를 확인하지 않아 null 포인터 역참조 시 `EXC_BAD_ACCESS`를 통해 하드 크래시가 발생하는 문제를 해결합니다.
- metal: OOM 조건을 우아하게 처리하기 위해 `ggml_backend_metal_buffer_type_alloc_buffer` 내에서 `ggml_metal_buffer_init` 결과에 대한 null 체크를 추가했습니다.
- cont: 코드베이스 내 로깅 문제를 수정했습니다.
이 변경은 모델이나 컨텍스트가 사용 가능한 Metal 예산을 초과할 때 iOS와 같은 메모리가 제한된 장치가 크래시하는 대신 진단 가능한 오류를 표시하도록 보장합니다.