-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Closed
Labels
AnalysisIssues related to static analysis (vet, x/tools/go/analysis)Issues related to static analysis (vet, x/tools/go/analysis)FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.release-blocker
Milestone
Description
There is a problem on tip when the vendored x/tools module is updated to its latest master pseudo-version (as part of #36905).
What did you do?
$ git clone https://go.googlesource.com/go gotip && cd gotip/src
$ ./make.bash
$ export PATH="$(pwd)/../bin:$PATH"
$ (cd cmd; go get -d golang.org/x/tools@master && go mod tidy && go mod vendor)
$ go install cmd/vet
$ go vet hash/crc32
What did you expect to see?
$ go vet hash/crc32
$ echo $?
0
What did you see instead?
$ go vet hash/crc32
# hash/crc32
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x12463b8]
goroutine 72 [running]:
cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.goStmtFun(...)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine/testinggoroutine.go:130
cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.checkGoStmt(0xc0001e48f0, 0xc000220a50)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine/testinggoroutine.go:142 +0x58
cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.run.func1.1({0x1310528, 0xc000220a50})
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine/testinggoroutine.go:76 +0x36
go/ast.inspector.Visit(0xc000053200, {0x1310528, 0xc000220a50})
/Users/gopher/gotip/src/go/ast/walk.go:387 +0x31
go/ast.Walk({0x130c7c0, 0xc000053200}, {0x1310528, 0xc000220a50})
/Users/gopher/gotip/src/go/ast/walk.go:52 +0x62
go/ast.walkStmtList({0x130c7c0, 0xc000053200}, {0xc0002252c0, 0x3, 0x0})
/Users/gopher/gotip/src/go/ast/walk.go:32 +0x91
go/ast.Walk({0x130c7c0, 0xc000053200}, {0x1310140, 0xc000228420})
/Users/gopher/gotip/src/go/ast/walk.go:235 +0x1945
go/ast.Walk({0x130c7c0, 0xc000053200}, {0x1310460, 0xc000228450})
/Users/gopher/gotip/src/go/ast/walk.go:358 +0x85c
go/ast.Inspect(...)
/Users/gopher/gotip/src/go/ast/walk.go:399
cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.run.func1({0x1310460, 0xc000228450}, 0xaa)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine/testinggoroutine.go:70 +0xa5
cmd/vendor/golang.org/x/tools/go/ast/inspector.(*Inspector).Nodes(0xc0000a4810, {0xc000538cc8, 0x7, 0x105c47c}, 0xc000538cb8)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/ast/inspector/inspector.go:100 +0x9c
cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.run(0xc0001e48f0)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine/testinggoroutine.go:58 +0xc5
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.run.func5.1()
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:352 +0x82e
sync.(*Once).doSlow(0x1270b00, 0xc0004f1ad0)
/Users/gopher/gotip/src/sync/once.go:68 +0xc2
sync.(*Once).Do(...)
/Users/gopher/gotip/src/sync/once.go:59
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.run.func5(0x14914e0)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:304 +0x1a5
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.run.func6.1(0x0)
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:364 +0x29
created by cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.run.func6
/Users/gopher/gotip/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:363 +0x47
Metadata
Metadata
Assignees
Labels
AnalysisIssues related to static analysis (vet, x/tools/go/analysis)Issues related to static analysis (vet, x/tools/go/analysis)FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.release-blocker