Skip to content

Eval bug: Qwen3.8-27B (qwen35 hybrid) llama-server crashes silently at ~520K prefill tokens with YaRN rope-scale 4 (just under 2x yarn-orig-ctx), b10434 CUDA #27090

Description

@asaffulks

Name and Version

llama-server, build b10434 (commit range including #26623), Windows x64 CUDA 13.3 release binaries (llama-b10434-bin-win-cuda-13.3-x64.zip). Also reproduced on b10430.

Operating systems

Windows

GGML backends

CUDA

Hardware

1× NVIDIA RTX PRO 6000 Blackwell Workstation Edition (96GB, compute 12.0), driver-side CUDA 13.x, Windows 11.

Models

unsloth/Qwen3.8-27B-GGUFQwen3.8-27B-UD-Q8_K_XL.gguf (arch qwen35, hybrid Gated DeltaNet + full-attention interval layers, native ctx 262144).

Problem description & steps to reproduce

With YaRN rope scaling ×4 to extend Qwen3.8-27B toward 1M context, llama-server dies silently (no assert, no error output, process exits) at ~520K tokens of prefill — suspiciously just under 2× the native training context (2×262144 = 524288).

Command:

llama-server.exe -m Qwen3.8-27B-UD-Q8_K_XL.gguf -ngl 999 -c 1048576 --parallel 1 -fa on ^
  --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 262144 ^
  --override-kv qwen35.context_length=int:1048576 ^
  --cache-type-k q8_0 --cache-type-v q8_0 --port 8095

Then POST a single ~925K-token chat completion. Prefill proceeds normally (~900 t/s at that depth) until:

slot print_timing: id  0 | task 0 | prompt processing, n_tokens = 518144, progress = 0.56, t = 574.77 s / 901.48 tokens per second
slot print_timing: id  0 | task 0 | prompt processing, n_tokens = 520192, progress = 0.56, t = 578.98 s / 898.46 tokens per second

…then the process is gone. No further output on stdout/stderr. GPU memory is freed. VRAM was not exhausted (~69GB used of 96GB at time of death).

Data points that bracket it:

  1. Works: native window, no YaRN, 224K-token prompt → completes, correct retrieval (6/6 planted needles), fa on, q8 KV. (Note: prompts >~90–100K crashed the same way on b10430 and were fixed by b10434 — presumably Initial changes for Recurrent state rollback for nemotron for cuda #26623 ggml: recurrent state rollback for ggml_ssm_scan. This report is about a second, deeper boundary that remains.)
  2. Works: YaRN ×2 (--rope-scale 2 --override-kv qwen35.context_length=int:524288, -c 524288), 444K-token prompt → completes, 6/6 retrieval.
  3. Crashes: YaRN ×4 as above, dies at n_tokens ≈ 520192 (just under 524288 = 2× yarn-orig-ctx).
  4. KV type doesn't matter (q8_0 and f16 both crash at the same place pre-b10434 for the first cliff; the ×4 crash above was with q8_0).

The "just under 2× orig ctx" position plus the silent death (reads like a segfault / device-side fault rather than a caught error) suggests a position/buffer boundary in the hybrid-attention or DeltaNet state path when positions exceed 2× the original training context under YaRN.

Happy to run diagnostic builds/flags if useful.

First Bad Commit

No response

Relevant log output

(see prefill tail above — process exits silently after n_tokens = 520192 with no error output)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions