From b79e0c5adf35744b1a4b34291b6f4ea4c95f2daf Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Sat, 12 Dec 2020 21:31:17 +0100 Subject: [PATCH] fix: throw an error on panic. (#1540) * fix: throw an error on panic. * current min go version is go1.13 --- go.mod | 2 +- pkg/lint/runner.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 171b9195..683b4b9c 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/golangci/golangci-lint -go 1.12 +go 1.13 require ( 4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a diff --git a/pkg/lint/runner.go b/pkg/lint/runner.go index 5278f3ac..63e6ad71 100644 --- a/pkg/lint/runner.go +++ b/pkg/lint/runner.go @@ -91,6 +91,8 @@ func (r *Runner) runLinterSafe(ctx context.Context, lintCtx *linter.Context, defer func() { if panicData := recover(); panicData != nil { if pe, ok := panicData.(*errorutil.PanicError); ok { + err = fmt.Errorf("%s: %w", lc.Name(), pe) + // Don't print stacktrace from goroutines twice lintCtx.Log.Warnf("Panic: %s: %s", pe, pe.Stack()) } else {