Settings

Theme

A simple Go error handling pattern led to 54GB memory usage with 65535 errors

gist.github.com

3 points by alingse 6 months ago · 1 comment

Reader

alingseOP 6 months ago

While debugging why our golangci-lint runs in CI were getting randomly killed, I discovered a surprising memory issue in Go's error handling.

The problem occurs when combining many errors using `errors.Join()` and wrapping them with `fmt.Errorf()`. Here's a minimal reproduction

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection