Skip to content

Qwen3-Coder-30B-A3B returns empty output to chat-template probes on HRX #308

Closed

Description

@bong-water-water-bong

Found 2026-10-05 by the Qwen3-0.6B fusion work (performance mode, strixhalo). Qwen3-Coder-30B-A3B-Instruct-Q4_K_M through llama-server on HRX gives empty output to the chat-template probes ("capital of France", 17x23, needle). This happens with the new private HIP matchers both on and off, so it predates them. Raw completions work, and decode speed is normal.

Next: check the chat template and tool-call parsing for Coder in this build (jinja and reasoning parser), and compare with the CPU backend.

Activity

  1. bong-water-water-bong commented on Oct 5, 2026

    @bong-water-water-bong
    CollaboratorAuthor

    Re-tested on the current pin: the chat probes return content

    Distinct from the #318 probe (which used /completion — raw completions, which this issue says already worked): this posts to /v1/chat/completions, the path that was returning empty.

    Against the current pins (hrx-system 98d05d94, llama.cpp 522dab4, HRX0, Qwen3-Coder-30B-A3B-Instruct-Q4_K_M), the issue's three probes:

    capital   empty=False len=31  'The capital of France is Paris.'
    arith     empty=False len=92  '17 times 23 equals 391.\n\nYou can calculate this as:\n17 × 23 '
    needle    empty=False len=2   'OK'
    raw /completion control:      ' Paris. The capital of Belgium is Brussels. …'
    

    Run twice, because I initially introduced a variable I could not justify. My first pass started the server with --jinja, chosen by me; the issue's own next step is "check the chat template and tool-call parsing for Coder in this build (jinja and reasoning parser)", so jinja is exactly the suspect area and adding that flag could have masked the bug. Re-ran without --jinja: identical, non-empty results in all three probes. So the fix does not depend on that flag.

    Also worth recording against the original report: it said this happened "with the new private HIP matchers both on and off, so it predates them" — this run had the matchers on (the default), i.e. within the failing configuration.

    Suggest closing. It goes the same way as #318: almost certainly the pin move, and #90's graph_input change (bindings "uploaded, never downloaded") is the named mechanism in the same KV/ubatch area.

  2. bong-water-water-bong commented on Oct 6, 2026

    @bong-water-water-bong
    CollaboratorAuthor

    Closing as fixed on the current pin. All three /v1/chat/completions probes return content, run twice, once without --jinja, with the private HIP matchers on; the raw /completion control works. Evidence in the comment above. Re-open if it recurs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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