Session:17:54
(pi glm-5.3-flash "locklocklock" hang forensics + thinking-level
fix)
Investigated today's hung chats: 4 unrelated pi
sessions (tambor, phorma, catitas, ~) degenerated between 18:49–20:16
UTC with assistant thinking streams collapsing into endless
locklocklock… token loops (largest ~120k repeats ≈ 480 KB),
ending in stopReason: error or user aborted.
Root cause: provider-side degeneration of
z-ai/glm-5.3-flash (openrouter) reasoning channel —
intermittent (1,045 healthy toolUse turns today vs 9 aborted + 5 error),
all failures in reasoning.text, never in visible text/tool
calls. Not project-specific; "lock" seed is incidental
(block/blocked/lockfile-heavy contexts).
Operational damage: tambor orchestrator
01a14af0 died after spawning B7/B8 subagent lanes
— lanes finished green in worktrees but nothing merged (already
recovered by the 18:49 session; merges landed).
Fix applied: ~/.pi/agent/settings.jsondefaultThinkingLevel: high → medium — degeneration lives
entirely in the high-thinking reasoning channel; shorter budgets shrink
the repetition attractor.
Mitigations noted: on recurrence switch models
immediately (gemini-2.5-flash: 28 turns, 0 errors today); retrying same
model re-degenerates (phorma aborted 5× in 25s); after aborted/error
turns in an orchestrator, check for orphaned subagent lanes before
restarting; candidate openrouter/z-ai report.
Next: nothing pending from this session; watch for
glm-5.3-flash recurrence at medium thinking.