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
Bug
Here's the goleak output for the leaking goroutine:
[Goroutine 13 in state sync.Cond.Wait, with sync.runtime_notifyListWait on top of the stack:
sync.runtime_notifyListWait(0xc002140d10, 0x0)
/usr/local/Cellar/go/1.21.0/libexec/src/runtime/sema.go:527 +0x159
sync.(*Cond).Wait(0x0?)
/usr/local/Cellar/go/1.21.0/libexec/src/sync/cond.go:70 +0x85
github.com/cihub/seelog.(*asyncLoopLogger).processItem(0xc0020e46c0)
/Users/crobert/go/pkg/mod/github.com/cihub/seelog@v0.0.0-20170130134532-f561c5e57575/behavior_asynclooplogger.go:50 +0x99
github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0xc0020e46c0)
/Users/crobert/go/pkg/mod/github.com/cihub/seelog@v0.0.0-20170130134532-f561c5e57575/behavior_asynclooplogger.go:63 +0x33
created by github.com/cihub/seelog.NewAsyncLoopLogger in goroutine 1
/Users/crobert/go/pkg/mod/github.com/cihub/seelog@v0.0.0-20170130134532-f561c5e57575/behavior_asynclooplogger.go:40 +0xcf
This call is happening on init(), which means the goroutine is started when a package is imported, even if it isn't used.
Solution
It's generally not good practice to start a goroutine in init. The best solution here would only be start the goroutine when required, and provide a public API to stop it.
Context
Hello, I'm currently working on open-telemetry/opentelemetry-collector-contrib#30438 to enable
goleak
to check for leaked goroutines.Bug
Here's the
goleak
output for the leaking goroutine:Here's the line that causing it:
seelog/behavior_asynclooplogger.go
Line 40 in f561c5e
This call is happening on
init()
, which means the goroutine is started when a package is imported, even if it isn't used.Solution
It's generally not good practice to start a goroutine in init. The best solution here would only be start the goroutine when required, and provide a public API to stop it.
Related:
#86
The text was updated successfully, but these errors were encountered: