El proyecto llama.cpp lanzó la versión b10955, que incluye una corrección crítica para la corrupción de heap dentro del backend ggml-cpu. La actualización desactiva el encabezado precompilado (PCH) y elimina una definición ambigua de CACHE_LINE_SIZE para resolver problemas de seguridad de memoria.
- Desactivar el PCH de ggml-cpu restaura el orden natural de inclusión, asegurando que ops.h se procese antes que los encabezados de interferencia de hardware.
- Eliminar la rama std::hardware_destructive_interference_size hace que CACHE_LINE_SIZE sea determinista e independiente del orden de inclusión.
- La corrección resuelve una discrepancia donde los kernels de C++ usaban líneas de caché de 256 bytes mientras que el código C usaba valores predeterminados de 64 bytes, lo que anteriormente subdimensionaba los búferes de trabajo de rope.
- Esta corrección previene caídas por heap-buffer-overflow en ggml_compute_forward_rope_flt causadas por la discrepancia en el tamaño del búfer.
El lanzamiento proporciona binarios para plataformas macOS (Apple Silicon e Intel), Linux (x64, arm64, s390x), Windows (CPU, CUDA, Vulkan, ROCm, OpenVINO, SYCL), Android y openEuler.