You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my experience it could be very valuable to have a goroutine "leak" detection similar to the race detector we already have. It should be able to detect goroutines that will never we runnable again, and therefore is "leaked".
I have created a playground example of the things I could imagine would be detectable, which are blocking selects, sync.Mutex, sync.WaitGroup, sync.Cond, where no other goroutine holds a reference to the item needing to unblock it.
The examples are of course very simple, but I don't see why it shouldn't apply in a much bigger scope.
I imagine this could be used in a similar fashion as the race detector, so it is an option that can be used for testing, problem identification, etc.
The text was updated successfully, but these errors were encountered:
In my experience it could be very valuable to have a goroutine "leak" detection similar to the race detector we already have. It should be able to detect goroutines that will never we runnable again, and therefore is "leaked".
I have created a playground example of the things I could imagine would be detectable, which are blocking selects, sync.Mutex, sync.WaitGroup, sync.Cond, where no other goroutine holds a reference to the item needing to unblock it.
The examples are of course very simple, but I don't see why it shouldn't apply in a much bigger scope.
I imagine this could be used in a similar fashion as the race detector, so it is an option that can be used for testing, problem identification, etc.
The text was updated successfully, but these errors were encountered: