Programming Languages
Bug Report
Goroutine count climbed forever: senders blocked on an unbuffered channel after the caller timed out
A Go pricing service's goroutine count grew by thousands per hour. A helper that raced a slow lookup against a timeout left the lookup goroutine blocked forever on an unbuffered channel nobody would read. How we found it with goroutine profiles and fixed it with context and goleak.