A goroutine leak occurs when a goroutine blocks indefinitely — usually waiting on a channel or lock that is never resolved — consuming memory and system resources silently over time.
Goroutine waiting on a channel that is never written to or closed
Missing context cancellation — goroutine has no way to know the request was cancelled
Infinite loop without a done signal
Deadlocked mutual sends — two goroutines each waiting for the other to receive
HTTP response body not read and closed — underlying goroutine in transport stays alive
0-2 years experience
2-5 years experience
5-8 years experience
8+ years experience