Un goroutine leak è un goroutine che non termina mai — rimane bloccato o in esecuzione all'infinito, consumando memoria (e mantenendo vivi gli oggetti a cui fa riferimento) per tutta la durata del programma. Poiché i goroutine sono economici da avviare, è facile farli perdere, e i leak si accumulano silenziosamente finché il servizio non si degrada o non esaurisce la memoria.
Causa 1: bloccato su un canale senza mittente/ricevitore
{
ch := ( )
{
ch <-
}()
}
