Skip to content

Eval bug: Crash: ggml_new_object: not enough space in context's memory pool with -sm tensor after long context #23264

Description

@jmig1109

Name and Version

llama-server --version
version: 9202 (e0de4c2)
built with GNU 13.3.0 for Linux x86_64

Build command:

cmake -B build   -DGGML_NATIVE=ON   -DGGML_CUDA=ON   -DCMAKE_CUDA_COMPILER="/usr/local/cuda-13.1/bin/nvcc"   -DCMAKE_PREFIX_PATH="/usr/local/cuda-13.1"   -DCMAKE_INSTALL_RPATH="/usr/local/cuda-13.1/lib64;\$ORIGIN"   -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DGGML_CUDA_FORCE_CUBLAS=true -DGGML_SCHED_MAX_COPIES=8
cmake --build build --config Release -j 8

LLama-server launch command:

CUDA_VISIBLE_DEVICES=1,0,2 CUDA_SCALE_LAUNCH_QUEUES=4x llama-server --models-preset /mnt/fast1/gguf-models/models-build.ini --host 0.0.0.0 --port 8080 --models-max 1 -fa on --log-colors on -cram 32768 --slot-save-path /mnt/fast1/kv-cache-storage --cache-prompt --jinja --cache-idle-slots --log-prefix --log-timestamps --log-file /docker/llama.cpp/logs --perf --keep -1 --context-shift --cache-reuse 1 --metrics

Operating systems

Linux

GGML backends

CUDA

Hardware

CPU: AMD Ryzen 7 5700X (16) @ 4.665GHz
GPU: NVIDIA GeForce RTX 3090
GPU: NVIDIA GeForce RTX 3090
GPU: NVIDIA RTX PRO 4000 Blackwell
Memory: 128714MiB
Nvidia Driver: 595.71.05
OS: Pop!_OS 24.04 LTS
Kernel: Linux 6.18.7-76061807-generic (x86_64)

Models

am17an/Qwen3.6-27B-MTP-GGUF - the same version used to test the MTP pull request.
This is a Q8_0 quantization.

model presets:

[Qwen3.6-27B-MTP-Q8]
model = /mnt/fast1/gguf-models/Qwen3.6-27B/Qwen3.6-27B-MTP-Q8_0.gguf
mmproj = /mnt/fast1/gguf-models/Qwen3.6-27B/mmproj-F16.gguf
ngl = 99
ctx-size = 0
np = 4
kvo = True
kvu = True
temp = 0.6
top-p = 0.95
presence-penalty = 0.0
repeat-penalty = 1.0
top-k = 20
min-p = 0.0
sleep-idle-seconds = 360
no-prefill-assistant = true
chat-template-kwargs = {"preserve_thinking": true}
sm = tensor
spec-type = draft-mtp
spec-draft-n-max = 2
b = 8192
ub = 1024

Problem description & steps to reproduce

##Description:
The llama-server crashes after long conversations with the Qwen3.6-27B-MTP-Q8 model using --spec-type draft-mtp. The crash always occurs during prompt processing when a new context checkpoint is being created.

cache size limit reached, removing oldest entry (size = 22200.419 MiB)
created context checkpoint 1 of 32 (pos_min = 8191, pos_max = 8191, n_tokens = 8192, size = 181.782 MiB)
GGML_ASSERT(obj_new) failed
ggml_new_object: not enough space in the context's memory pool (needed 1073741936, available 1073741824)

##Reproduction:
Start llama-server with Qwen3.6-27B-MTP-Q8 and --spec-type draft-mtp
Run multiple long chats exhausitng kv cache
Server crashes during prompt processing
Run multiple long chats exhausitng kv cache

##Logs:

at startup:
common_init_from_params: KV cache shifting is not supported for this context, disabling KV cache shifting
I imagine this must play a role (together with -kvu and -np 4).

First Bad Commit

No response

Relevant log output

Logs
[logs-llama-cpp.txt](https://github.com/user-attachments/files/27954337/logs-llama-cpp.txt)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions