From 87c4a04b80a2f81a06ce3c0b67e50053166766d8 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Thu, 29 Jun 2017 14:14:26 -0700 Subject: [PATCH] cmd/vet/all: in case of vet panic, don't filter stacktrace Fixes #20839. Change-Id: I125460c5da09b7fa0cf470ff5be436f8d650cde7 Reviewed-on: https://go-review.googlesource.com/47253 Run-TryBot: Robert Griesemer TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/cmd/vet/all/main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/cmd/vet/all/main.go b/src/cmd/vet/all/main.go index b4df4cc720..09167af6d5 100644 --- a/src/cmd/vet/all/main.go +++ b/src/cmd/vet/all/main.go @@ -17,6 +17,7 @@ import ( "go/build" "go/types" "internal/testenv" + "io" "log" "os" "os/exec" @@ -227,6 +228,15 @@ NextLine: continue } + if strings.HasPrefix(line, "panic: ") { + // Panic in vet. Don't filter anything, we want the complete output. + parseFailed = true + fmt.Fprintf(os.Stderr, "panic in vet (to reproduce: go run main.go -p %s):\n", p) + fmt.Fprintln(os.Stderr, line) + io.Copy(os.Stderr, stderr) + break + } + fields := strings.SplitN(line, ":", 3) var file, lineno, msg string switch len(fields) { -- 2.50.0