A goroutine leak is a goroutine that never terminates — it stays blocked or running forever, consuming memory (and keeping its referenced objects alive) for the program's lifetime. Since goroutines are cheap to start, it's easy to leak them, and leaks accumulate silently until the service degrades or runs out of memory.
Cause 1: blocked on a channel with no sender/receiver
{
ch := ( )
{
ch <-
}()
}
