• Stefy Lanza (nextime / spora )'s avatar
    parser: stop loose JSON parser from hanging on malformed tool args · cf50ab84
    Stefy Lanza (nextime / spora ) authored
    The gemma loose object/array parser could spin forever: when a recursive
    value parse can't advance past a stray delimiter (e.g. '}' where ']' was
    expected, as in the broken `{"files":[{"path":"x"]}}` a looping Gemma
    finetune emits), the array/object loop kept iterating without consuming
    input. parse_gemma_native_tool_calls and the new parse_tool_tag_json_calls
    both feed model output through this parser, so a malformed tool call would
    hang the request (not just be missed). Add a forward-progress guard to
    both loops: bail when an iteration consumes no input. Best-effort recovers
    the tool name + good fields from malformed JSON; clean input is unaffected.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    cf50ab84
Name
Last commit
Last update
..
cache Loading commit data...
__init__.py Loading commit data...
acceleration.py Loading commit data...
capabilities.py Loading commit data...
grammar.py Loading commit data...
hf_loading.py Loading commit data...
manager.py Loading commit data...
parser.py Loading commit data...
pipeline_cache.py Loading commit data...
quant.py Loading commit data...
ram_monitor.py Loading commit data...
templates.py Loading commit data...
thermal.py Loading commit data...
tmp_janitor.py Loading commit data...
tool_call_grammar.gbnf Loading commit data...
turboquant.py Loading commit data...
utils.py Loading commit data...