When Do Repetition Loops Lock? Truncation Sampling, Bounded Penalties, and a Blind Spot in DRY
Language models sometimes repeat verbatim until the generation limit. We study the exit rather than the entrance: given that a span has already been repeated $n$ times, when is escape still possible? Along the loop the context is deterministic, so the probability that a loop survives $m$ more repetitions is, under any sampler, a product of per-step continuation probabilities computable from one forward pass. A lock, where this probability stays exactly one, is its limiting case. Pure sampling never locks; top-$p$ with threshold $π>1/2$ locks a position exactly when the continuation probability reaches $π$. A bounded penalty can leave a position locked; a penalty that outgrows the model's preference for the loop over unseen tokens guarantees escape under top-$p$. The same analysis shows a blind spot in the widely deployed DRY sampler: its sequence breakers cap the penalty at $λb^{g-1-a}$ for loops whose longest breaker-free run has $g$ tokens. On eleven open models, 61% of locked units with $g=6$ stay locked under DRY and 0.2% with $g=8$. In free generation with llama.cpp, all 199 loops that survive DRY, on six models, have $g\le 7$. We propose a count term that grows exponentially with the number of verbatim recurrences, up to its look-back window, and closes this blind spot. Added to DRY (DRY-C), it cuts loops in 1,800 structured generations on five models from 167 to 34, and loops reaching the length limit from 150 to 0, with reasoning accuracy and item coverage on par with DRY. DRY's own length term costs 2.5 to 14.2 points of accuracy on GSM8K and MATH-500; used in its place, the count term keeps the default sampler's accuracy and leaves one of the 1,800 generations at the limit.