Skip to content

Panic on go1.11 environment #157

Closed
Closed
@kop

Description

@kop

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions