Tools
llama.cpp b10955 fixes a heap corruption caused by its own precompiled header disagreeing with itself about cache line size
The ggml-cpu PCH force-included ggml-impl.h before ops.h, pulling in <new> and defining __cpp_lib_hardware_interference_size, so C++ kernels used CACHE_LINE_SIZE = 256 while the C work-buffer sizing in ggml-cpu.c always used the fallback 64. The mismatch undersized the rope work buffer by (CACHE_LINE_SIZE/4 - 16) * n_threads * 4 bytes, corrupting the heap and crashing later in ggml_compute_forward_rope_flt. The fix disables the ggml-cpu PCH and removes the std::hardware_destructive_interference_size branch entirely, making the constant deterministic and include-order independent.
Source
↳ Follow the thread