Go 1.27 provides a goroutineleak profile for goroutines permanently blocked on channels or synchronization primitives. For example, a sender to an unbuffered channel cannot continue after its receiver exits early.
The detector uses garbage-collector reachability, so it does not catch every leak. A primitive still reachable from a global variable, or a goroutine blocked on network I/O, may escape this check.
When to use
Use it to distinguish normal waiting from permanently stranded goroutines.