Closed
Description
Hi, I'm experiencing a strange behaviour with latest (1.9.1) version of golangci-lint.
I'm running it like so:
if [ -n "${CI_TARGET_BRANCH}" ]; then
golangci-lint run \
--enable-all \
--exclude "File is not goimports-ed" \
--exclude "File is not gofmt-ed with -s" \
--new-from-rev ${CI_TARGET_BRANCH}
else
golangci-lint run \
--enable-all \
--exclude "File is not goimports-ed" \
--exclude "File is not gofmt-ed with -s" \
--new
fi
When I run it on my OS X dev machine, it works ok.
But when I run the same version of linter with same settings against same code on CI/CD environment (Ubuntu-based container), it always crashes with one of the following errors (I'm using this linter for many projects in my org and it crashes for all of them):
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9cdae3]
goroutine 1668 [running]:
github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.(*fnVisitor).Visit(0xc4527b7ce0, 0xd35500, 0xc42ed7d440, 0x40e5e8, 0xb3f5a0)
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:837 +0x393
github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.(*globalVisitor).Visit(0xc4527b7cc0, 0xd35500, 0xc42ed7d440, 0xd31fe0, 0xc4527b7cc0)
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:820 +0xd1
go/ast.Walk(0xd31fe0, 0xc4527b7cc0, 0xd35500, 0xc42ed7d440)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:52 +0x66
go/ast.walkDeclList(0xd31fe0, 0xc4527b7cc0, 0xc4374e4f00, 0x8, 0x8)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:38 +0x81
go/ast.Walk(0xd31fe0, 0xc4527b7cc0, 0xd35480, 0xc4374e5100)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:353 +0x2650
github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.NodeFns.func1(0xc44305de20, 0xc452f86f00, 0xc452a93ef0)
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:787 +0x74
created by github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.NodeFns
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:784 +0xe7
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x9cd676]
goroutine 807 [running]:
github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/ssa.(*Package).Func(...)
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/ssa/ssa.go:1532
github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.(*globalVisitor).Visit(0xc4256c7760, 0xd35100, 0xc42034e040, 0x0, 0x0)
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:816 +0x196
go/ast.Walk(0xd31fe0, 0xc4256c7760, 0xd35100, 0xc42034e040)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:52 +0x66
go/ast.walkExprList(0xd31fe0, 0xc4256c7760, 0xc42033c070, 0x1, 0x1)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:26 +0x81
go/ast.Walk(0xd31fe0, 0xc4256c7760, 0xd35c40, 0xc42086e0a0)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:308 +0x564
go/ast.Walk(0xd31fe0, 0xc4256c7760, 0xd355c0, 0xc42034e300)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:331 +0xf2f
go/ast.walkDeclList(0xd31fe0, 0xc4256c7760, 0xc42034e500, 0x3, 0x4)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:38 +0x81
go/ast.Walk(0xd31fe0, 0xc4256c7760, 0xd35480, 0xc42002e180)
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/go/ast/walk.go:353 +0x2650
github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.NodeFns.func1(0xc4256c7700, 0xc4280efaa0, 0xc426af7320)
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:787 +0x74
created by github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint.NodeFns
/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/honnef.co/go/tools/lint/lint.go:784 +0xe7