From 51c401246d93a8e50a9c223dcf71b125c310ac0c Mon Sep 17 00:00:00 2001 From: wgroeneveld Date: Wed, 20 Mar 2024 21:52:47 +0100 Subject: [PATCH] the case of a leaky goroutine --- .../2024/03/the-case-of-a-leaky-goroutine.md | 76 ++++++++++++++++++ static/post/2024/03/pyroscope.jpg | Bin 0 -> 79873 bytes 2 files changed, 76 insertions(+) create mode 100644 content/post/2024/03/the-case-of-a-leaky-goroutine.md create mode 100644 static/post/2024/03/pyroscope.jpg diff --git a/content/post/2024/03/the-case-of-a-leaky-goroutine.md b/content/post/2024/03/the-case-of-a-leaky-goroutine.md new file mode 100644 index 00000000..72e12407 --- /dev/null +++ b/content/post/2024/03/the-case-of-a-leaky-goroutine.md @@ -0,0 +1,76 @@ +--- +title: "The Case Of A Leaky Goroutine" +date: 2024-03-24T09:00:00+01:00 +categories: + - programming +tags: + - go +--- + +In the programming language Go, it's _very_ easy to program something using high-level concurrent patterns thanks to the concept of _Goroutines_ and channels used to signal between them. A Goroutine is essentially a coroutine that maps onto green threads that map onto real native threads on your OS in an `NxM` way. The simple `go func()` prepend-style syntax makes fire-and-forget Goroutines for executing small tasks in parallel trivial. + +Or is it? If we are to believe Katherine Cox-Buday, the author of O'Reilly's [Concurrency In Go](https://katherine.cox-buday.com/concurrency-in-go/), it's not: + +> Concurrency can be notoriously difficult to get right, but fortunately, the Go programming language was designed with concurrency in mind. In this practical book, you’ll learn how Go was written to help introduce and master these concepts, as well as how to use basic concurrency patterns to form large systems that are reliable and remain simple and easy to understand. + +That sounds rather optimistic, but the countless of _memory leaks in Go and how to avoid them_ articles and [leak detection packages](https://github.com/uber-go/goleak) tell us otherwise. The most common misuses or cases of "leaky" Goroutines---routines that live on forever even though we think they're garbage collected---are neatly laid out by Uber's Georgian-Vlad Saioc in their [LeakProf Goroutine Leak Detection](https://www.uber.com/en-BE/blog/leakprof-featherlight-in-production-goroutine-leak-detection/) system. + +We stumbled upon a leaky gut---erm, code gut?---two weeks ago when an Out Of Memory suddenly restarted Kubernetes pods halfway through workflow runs that of course are not quite idempotent. Not knowing where to begin, we fired up Go's profiler `pprof` and got to work. After a day of poking around, we found our own version of a never-ending Goroutine factory. This post summarizes our findings in case they might come in handy for others or my future self. + +## Identifying the problem (Profiling) + +Grafana's dashboard can monitor Goroutine memory usage and seeing it spike without going down is an obvious red flag, but doesn't give you details just yet. For that, you can stay with the Grafana stack using [Pyroscope](https://grafana.com/docs/pyroscope/latest/) that charts out interactive memory flame graphs based on `pprof` dumps it pulls from your container (provided the whole setup shebang is done right): + +![](../pyroscope.jpg "A pyroscope goroutine zoomed in view.") + +The chart tells us that `runtime.gopark` is holding onto Goroutines coming from pipeline `func`s we didn't even know existed. Lo and behold, these convert contexts into channels using generic `interface{}`s as part of the pipeline by creating a Goroutine and waiting for the channel to be done---except that it'll never be, since the context that's passed in isn't a derived one like `.WithCancel()`. In other words, the context will cancel if the whole root request ends---which can be never for a background job with a background context. Whoops. We'll get back to that. + +You can also run Pyroscope locally using Docker, by the way: `docker run -it -p 4040:4040 grafana/pyroscope`. + +If you don't care about Grafana, no worries, `pprof` comes with a HTTP server or attaches itself to yours once you import `import _ "net/http/pprof"`. From now on, `/debug/pprof/` is an endpoint where heap/CPU/whatever can be dumped from using for instance CURL. See the [Official pprof docs](https://go-language.org/go-docs/runtime/pprof/) and the [Go dev blog entry on pprof](https://go.dev/blog/pprof) for more information. + +Once you managed to get your profile dump, you can analyze it with `go tool pprof [profile_file]`. If you've installed `graphviz`, it'll generate visual representation of your snapshot, as seen in the aforementioned Go dev blog entry[^gotorch]. The most interesting view is of course a diff between a baseline and one after lots of leaky Goroutine work---use the `diff_base` flag for that (see the [Go dev blot entry on pgo](https://go.dev/blog/pgo)). Profile percentages are relative to the first dump. + +[^gotorch]: The `pprof` tool recently gained flame graph mode, making Uber's `go-torch` redundant. + +Let's get back to that context that's never truly cancelled. This piece of code is the perpetrator: + +enkel een context. In plaats van verder te werken op die context door middel van context.WithCancel(...) gebruikten wij de volgende func om die omvorming te doen: + + +```go +func ToDoneInterface(done <-chan struct{}) <-chan interface{} { + interfaceStream := make(chan interface{}) + go func() { + defer close(interfaceStream) + select { + case <-done: + return + } + }() + return interfaceStream +} +``` + +The `defer close()` seems to close well, but it's on the wrong channel. The `select{}` will wait until it received a signal from `done`: that's either when something is sent or when a `close()` has been called (a `nil` value). So, the Goroutine closes the channel **after** the first received `struct{}` on the passed `done` channel. If we pass the same channel multiple times---which we do---and that channel lives longer than is the case wich `ctx.Done()`---which it is---this Goroutine will leak. + +I don't know if that all makes sense if you're not familiar with Go, or even if you are. I know I had to stare at the above code block for a good hour and its usage context (got it, `Context`? Go-joke!) before realizing something wasn't as it was supposed to be here. + +## Reproducing the problem (Fixing) + +There's a neat way to detect memory leaks in tests using the package [goleak](https://github.com/uber-go/goleak): + +```go +func TestA(t *testing.T) { + defer goleak.VerifyNone(t) + + // test logic here. +} +``` + +It works by looking at what's still on the stack after everything should be garbage-collected. We then cooked up a script that spins up a consume/produce cycle using `context.Background()` as the root context without cancellation and then with it. The Pyroscope Go API can act as a helpful shortcut to auto-feed profiles straight from your program. + +The most systematic way to detect leaky Goroutines early must be Uber's [LeakProf](https://www.uber.com/en-BE/blog/leakprof-featherlight-in-production-goroutine-leak-detection/), a separately deployed system that regularly pulls in `pprof` dumps, enriches it with stack data, closely monitors memory usage, and even automatically files a bug report in case the shit hits the fan. I don't think we're there yet! + +Conclusion: the problem is often hidden in a small corner... Don't convert channels! Stick with Go's built-in context pattern and derive from the one passed in if needed! + diff --git a/static/post/2024/03/pyroscope.jpg b/static/post/2024/03/pyroscope.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dddafbd618f6e35dcfed64a8ac661a991d6cc530 GIT binary patch literal 79873 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 LIoMxQ|1t3|()rNo literal 0 HcmV?d00001