Обычно это deadlock или блокировка на канале. Если горутина ждёт чтения из канала, в который никто не пишет — она зависнет навсегда. То же с мьютексами — два мьютекса взятых в разном порядке дают deadlock. Для диагностики шли SIGQUIT — Go напечатает стектрейсы всех горутин. Ещё частая причина — забыл select с ctx.Done(), и горутина не отменяется при отмене контекста.
Почему горутины зависают?
Middle
211 просмотровAFK Offer AI
Как находить goroutine leaks в тестах?