Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the infinite loops pattern
The tab freezes, nothing prints, and the loop condition never becomes false.
What went wrong: A for ... range loop over a channel continues waiting for items until the channel is explicitly closed. Because ch was never closed, the loop blocked after draining elements, deadlocking.
The fix: Call close(ch) before beginning the for ... range loop over the channel.
Remember: Senders must close channels when no more values will be produced, so receivers know when iteration terminates.
The pattern behind it: infinite loops.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/01017062-1599-4d01-83f7-7ce4ea163e72" title="Debugging challenge: Deadlock in range loop over unclosed channel" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/01017062-1599-4d01-83f7-7ce4ea163e72">TryBugHunt</a></p>