Symptom card

HTTP 200, empty answer

The reasoning pass spent the whole completion budget before the first answer token, so the server reported success with nothing to show; raise the budget or turn reasoning off, and count answer tokens instead of status codes.

Platform:
Any local stack
Runtime:
llama.cpp server (Vulkan)
Published:
9/2/2026

What you see

The request completes. The server streams tokens and returns a success status. The client gets no answer text at all. The report names the symptom in its title:

HTTP 200, empty answer

In the per-request quality records every such request has the same shape:

nonzero reasoning characters and zero answer characters

Every conventional serving metric looks healthy while it happens. Status is 200. Time to first token is excellent, because the first token is reasoning. Tokens generated is high, because the model did work. The only counter that catches it is answer tokens, the ones after the reasoning block closes, and almost nobody collects it. A usage field that merges the two hides the failure.

Where we saw it

Strix Halo, llama.cpp Vulkan pinned by digest, single stream, frozen corpora. Two model families reproduced it: Qwen3.6-35B-A3B with reasoning enabled at a 1024-token completion budget, and Gemma-4-26B in its default operating mode, on a chat template that does not even expose a reasoning toggle. Report published 2026-08-14. The exact runtime build and model digest are on the claim pages linked below.

Cause

A thinking pass and a token budget share one completion window. When the model emits a reasoning block, it writes that block before the answer. When the budget runs out before the reasoning block closes, generation stops and no answer token is ever produced. The transport succeeded, so the server reports success. The report calls the failure rate a budget-starvation curve rather than a model defect: the rate is a property of the model × budget × corpus cell.

Fix

The report gives two settings and one check, no command line:

Still open upstream?

Not tracked by us. Neither source names an upstream issue; the report files the failure rate under budget starvation, not a runtime or model defect.

Evidence

Sources

This card documents one failure observed on the lab’s own hardware; any numbers live on the linked source page, not here.

← All symptom cards