Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

concurrent map access in golangci-lint 1.11.2 #302

Closed
ashanbrown opened this issue Nov 21, 2018 · 1 comment
Closed

concurrent map access in golangci-lint 1.11.2 #302

ashanbrown opened this issue Nov 21, 2018 · 1 comment

Comments

@ashanbrown
Copy link
Contributor

ashanbrown commented Nov 21, 2018

Saw this stack trace today:

Please include the following information:

  1. Version of golangci-lint: golangci-lint --version (or git commit if you don't use binary distribution)
    1.11.2

  2. Config file: cat .golangci.yml

run:
  deadline: 120s
  tests: false

linters:
  enable-all: true
  disable:
    # Should enable:
    - dupl
    - errcheck
    - nakedret
    - unparam
    # Probably never enable
    - gocyclo
    - gofmt # We use goimports
    - lll
    - maligned
  fast: false

linter-settings:
  gofmt:
    simplify: false
  unused:
    check-exported: true
  goimports:
    local-prefixes: github.com/launchdarkly,gopkg.in/launchdarkly

... plus a bunch of excluded issues
  1. Go environment: go version && go env

go version go1.11.1 darwin/amd64
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/andrewbrown/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/andrewbrown/Projects/go/"
GOPROXY=""
GORACE=""
GOROOT="/Users/andrewbrown/.gvm/gos/go1.11.1"
GOTMPDIR=""
GOTOOLDIR="/Users/andrewbrown/.gvm/gos/go1.11.1/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3l/nd9h32c568j4rb400xfj3d7r0000gp/T/go-build621350374=/tmp/go-build -gno-record-gcc-switches -fno-common"
  1. Verbose output of running: golangci-lint run -v
Error: exit status 2
Output:
fatal error: concurrent map read and map write

goroutine 7150 [running]:
runtime.throw(0x192a1d1, 0x21)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/runtime/panic.go:608 +0x72 fp=0xc0106e16b0 sp=0xc0106e1680 pc=0x102b082
runtime.mapaccess1_faststr(0x179c240, 0xc007ebf650, 0xc001d8cfc0, 0x8d, 0xc001a57f88)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/runtime/map_faststr.go:21 +0x418 fp=0xc0106e1720 sp=0xc0106e16b0 pc=0x1011c88
github.com/golangci/golangci-lint/pkg/lint/astcache.Cache.Get(0xc007ebf650, 0xc003a64000, 0x106, 0x106, 0x1a336c0, 0xc007ebf5f0, 0xc001d8cfc0, 0x8d, 0xc007f020f0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/astcache/astcache.go:37 +0x4f fp=0xc0106e1758 sp=0xc0106e1720 pc=0x14f770f
github.com/golangci/golangci-lint/pkg/golinters.getASTFilesForGoPkg(0xc001984770, 0xc001e24fc0, 0x48, 0x65, 0xc005b0a000, 0x48, 0x74, 0x48)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/util.go:111 +0xd6 fp=0xc0106e1858 sp=0xc0106e1758 pc=0x16b6f16
github.com/golangci/golangci-lint/pkg/golinters.Golint.Run(0x1a2eca0, 0xc00020aea0, 0xc001984770, 0xc007cab600, 0x188a31e, 0x6, 0x1a336c0, 0xc007f645d0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/golint.go:29 +0xd6 fp=0xc0106e1920 sp=0xc0106e1858 pc=0x16af336
github.com/golangci/golangci-lint/pkg/golinters.(*Golint).Run(0x2152a98, 0x1a2eca0, 0xc00020aea0, 0xc001984770, 0xc007f645d0, 0x1, 0x3, 0x0, 0x0)
	<autogenerated>:1 +0x58 fp=0xc0106e1970 sp=0xc0106e1920 pc=0x16b8748
github.com/golangci/golangci-lint/pkg/lint.Runner.runLinterSafe(0xc0007ed180, 0xe, 0xe, 0x1a336c0, 0xc007f47a10, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0x1a2db20, 0x2152a98, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:93 +0x1ab fp=0xc0106e1a90 sp=0xc0106e1970 pc=0x16d16db
github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker.func1()
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:127 +0xd6 fp=0xc0106e1ba0 sp=0xc0106e1a90 pc=0x16d34a6
github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc0016769b0, 0x188a31e, 0x6, 0xc00258ce40)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:75 +0x50 fp=0xc0106e1c00 sp=0xc0106e1ba0 pc=0x16cdda0
github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker(0xc0007ed180, 0xe, 0xe, 0x1a336c0, 0xc007f47a10, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0xc001477b60, 0xc001477bc0, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:126 +0x20a fp=0xc0106e1f08 sp=0xc0106e1c00 pc=0x16d1a7a
github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func1(0xc0015aede0, 0xc007f644e0, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0xc001477b60, 0xc001477bc0, 0xc001c96840, 0x8, 0x8, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:181 +0x13b fp=0xc0106e1f88 sp=0xc0106e1f08 pc=0x16d375b
runtime.goexit()
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc0106e1f90 sp=0xc0106e1f88 pc=0x10584a1
created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:178 +0x1b8

goroutine 1 [chan receive]:
github.com/golangci/golangci-lint/pkg/printers.(*Text).Print(0xc007cabb80, 0x1a2eca0, 0xc00020aea0, 0xc001477d40, 0x0, 0x14)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/printers/text.go:40 +0x8d
github.com/golangci/golangci-lint/pkg/commands.(*Executor).runAndPrint(0xc000228240, 0x1a2eca0, 0xc00020aea0, 0xc0004fa000, 0x10, 0x14, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:333 +0x246
github.com/golangci/golangci-lint/pkg/commands.(*Executor).executeRun(0xc000228240, 0xc000157b80, 0xc0004fa000, 0x10, 0x14)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:377 +0x152
github.com/golangci/golangci-lint/pkg/commands.(*Executor).executeRun-fm(0xc000157b80, 0xc0004fa000, 0x10, 0x14)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:210 +0x52
github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra.(*Command).execute(0xc000157b80, 0xc00011fe00, 0x14, 0x14, 0xc000157b80, 0xc00011fe00)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra/command.go:760 +0x2cc
github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc000157900, 0xc0001a0ce0, 0xc000173d10, 0xc000173ce0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra/command.go:846 +0x2fd
github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra.(*Command).Execute(0xc000157900, 0xc0001c4000, 0xc0001c42c0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra/command.go:794 +0x2b
github.com/golangci/golangci-lint/pkg/commands.Executor.Execute(0xc000157900, 0xc000157b80, 0x0, 0x1a1ed30, 0x6, 0x1a1f6b0, 0x7, 0x1a24680, 0x14, 0xc0001c4000, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/executor.go:80 +0x2b
main.main()
	/home/travis/gopath/src/github.com/golangci/golangci-lint/cmd/golangci-lint/main.go:20 +0x9b

goroutine 7152 [runnable]:
strings.ContainsRune(0x19216b4, 0x1c, 0xc000000061, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/strings/strings.go:108 +0x57
go/parser.isValidImport(0xc0075fd890, 0x2d, 0x12)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/parser.go:2273 +0xca
go/parser.(*parser).parseImportSpec(0xc001c22300, 0x0, 0x4b, 0x0, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/parser.go:2298 +0xa5
go/parser.(*parser).parseImportSpec-fm(0x0, 0x4b, 0x0, 0xc006e30ed0, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/parser.go:2534 +0x48
go/parser.(*parser).parseGenDecl(0xc001c22300, 0x4b, 0xc012444148, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/parser.go:2403 +0x154
go/parser.(*parser).parseFile(0xc001c22300, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/parser.go:2534 +0x204
go/parser.ParseFile(0xc007e80b80, 0xc001c34e10, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/interface.go:117 +0x183
github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.dirPackageInfoFile(0xc0049e0860, 0x7, 0xc000e785a0, 0x7c, 0xc000e785a0, 0x91, 0x100ba4f, 0x100ba4f, 0x13febc3)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/fix.go:122 +0x381
github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.fixImports.func1(0x1a293a0, 0xc0055c3ca0, 0x8, 0x10)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/fix.go:244 +0x448
github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.visitFn.Visit(0xc00d36c420, 0x1a293a0, 0xc0055c3ca0, 0x6, 0x10)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/fix.go:911 +0x3a
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a293a0, 0xc0055c3ca0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:52 +0x66
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a29460, 0xc0055c3cc0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:140 +0x271d
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a28de0, 0xc002526800)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:74 +0xb97
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a28e20, 0xc009162030)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:84 +0x144
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a28f60, 0xc00153ed40)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:165 +0x1ff9
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a28ee0, 0xc009162d20)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:342 +0xd18
go/ast.walkDeclList(0x1a26920, 0xc00d36c420, 0xc004621380, 0x7, 0x8)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:38 +0x9e
go/ast.Walk(0x1a26920, 0xc00d36c420, 0x1a28e60, 0xc004621680)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:353 +0x2656
github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.fixImports(0xc002526740, 0xc004621680, 0xc000e785a0, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/fix.go:252 +0x241
github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.Process(0xc000e785a0, 0x91, 0xc00dc05000, 0x13d4, 0x15d4, 0x1fa2c10, 0x0, 0x5517, 0x6be7, 0x0, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/imports.go:66 +0x724
github.com/golangci/golangci-lint/vendor/github.com/golangci/gofmt/goimports.Run(0xc000e785a0, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gofmt/goimports/golangci.go:17 +0xab
github.com/golangci/golangci-lint/pkg/golinters.Gofmt.Run(0xc0031cf301, 0x1a2eca0, 0xc00020aea0, 0xc0011b2070, 0xc007cab600, 0x18a6ac1, 0x9, 0x1a336c0, 0xc0054416e0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/gofmt.go:116 +0x11d
github.com/golangci/golangci-lint/pkg/lint.Runner.runLinterSafe(0xc0007ed180, 0xe, 0xe, 0x1a336c0, 0xc007f47a10, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0x1a2dae0, 0xc0005060fa, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:93 +0x1ab
github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker.func1()
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:127 +0xd6
github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc000f62370, 0x18a6ac1, 0x9, 0xc002fbde40)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:75 +0x50
github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker(0xc0007ed180, 0xe, 0xe, 0x1a336c0, 0xc007f47a10, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0xc001477b60, 0xc001477bc0, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:126 +0x20a
github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func1(0xc0015aede0, 0xc007f644e0, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0xc001477b60, 0xc001477bc0, 0xc001c96840, 0x8, 0x8, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:181 +0x13b
created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:178 +0x1b8

goroutine 7511 [runnable]:
syscall.SetNonblock(0x5, 0x1887301, 0x4, 0x1)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/syscall/exec_unix.go:98 +0xc2
os.newFile(0x5, 0xc00ed9d8b0, 0x50, 0x1, 0x5)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/os/file_unix.go:149 +0x19a
os.openFileNolog(0xc00ed9d8b0, 0x50, 0x0, 0x0, 0x203001, 0x64, 0x3428758)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/os/file_unix.go:216 +0x1fa
os.OpenFile(0xc00ed9d8b0, 0x50, 0x0, 0xc000000000, 0xc0089bfa40, 0x2000, 0x176e4a0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/os/file.go:284 +0x5f
os.Open(0xc00ed9d8b0, 0x50, 0x100ba4f, 0xc00d3572e8, 0xc000086000)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/os/file.go:265 +0x46
io/ioutil.ReadFile(0xc00ed9d8b0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/io/ioutil/ioutil.go:53 +0x52
go/parser.readSource(0xc00ed9d8b0, 0x50, 0x0, 0x0, 0xc0000e72c0, 0x2, 0x193a2d6, 0xc00d357368, 0x100c2d8)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/interface.go:42 +0x2ca
go/parser.ParseFile(0xc0089bfa40, 0xc00ed9d8b0, 0x50, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/parser/interface.go:86 +0x7e
github.com/golangci/golangci-lint/pkg/lint/astcache.(*Cache).parseFile(0xc00d3574b8, 0xc00ed9d8b0, 0x50, 0xc0089bfa40)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/astcache/astcache.go:131 +0x7c
github.com/golangci/golangci-lint/pkg/lint/astcache.Cache.GetOrParse(0xc007ebf650, 0xc003a64000, 0x106, 0x106, 0x1a336c0, 0xc007ebf5f0, 0xc00ed9d8b0, 0x50, 0x0, 0xc011cbca80)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/astcache/astcache.go:65 +0x241
github.com/golangci/golangci-lint/pkg/result/processors.(*AutogeneratedExclude).getOrCreateFileSummary(0xc0031cfc80, 0xc011f10070, 0xc0061477b8, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/result/processors/autogenerated_exclude.go:86 +0x1a3
github.com/golangci/golangci-lint/pkg/result/processors.(*AutogeneratedExclude).shouldPassIssue(0xc0031cfc80, 0xc011f10070, 0x1850a01, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/result/processors/autogenerated_exclude.go:45 +0x35
github.com/golangci/golangci-lint/pkg/result/processors.(*AutogeneratedExclude).shouldPassIssue-fm(0xc011f10070, 0xc011f10001, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/result/processors/autogenerated_exclude.go:41 +0x34
github.com/golangci/golangci-lint/pkg/result/processors.filterIssuesErr(0xc013812000, 0x3b0, 0x3b0, 0xc00d357b80, 0xc012439ba0, 0x104978a, 0x1059d20, 0xc012439b80, 0x354bcc809a06ca12)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/result/processors/utils.go:23 +0x15e
github.com/golangci/golangci-lint/pkg/result/processors.(*AutogeneratedExclude).Process(0xc0031cfc80, 0xc013812000, 0x3b0, 0x3b0, 0x354befa8b54bcc80, 0x5bf5c412, 0xc012439bf8, 0x1087126, 0x5bf5c412)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/result/processors/autogenerated_exclude.go:41 +0x6e
github.com/golangci/golangci-lint/pkg/lint.(*Runner).processIssues.func1()
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:277 +0x66
github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc007b434f0, 0x190d1c4, 0x15, 0xc012439d10)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:75 +0x50
github.com/golangci/golangci-lint/pkg/lint.(*Runner).processIssues(0xc007f64540, 0xc013812000, 0x3b0, 0x3b0, 0xc007b434f0, 0x1, 0x8, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:276 +0x160
github.com/golangci/golangci-lint/pkg/lint.Runner.processLintResults.func1(0xc007f64540, 0xc001477c80, 0xc001477bc0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:217 +0x1c0
created by github.com/golangci/golangci-lint/pkg/lint.Runner.processLintResults
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:205 +0xb6

goroutine 7513 [chan receive]:
github.com/golangci/golangci-lint/pkg/commands.(*Executor).setExitCodeIfIssuesFound.func1(0xc001477ce0, 0xc001477d40, 0xc000228240)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:292 +0x102
created by github.com/golangci/golangci-lint/pkg/commands.(*Executor).setExitCodeIfIssuesFound
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:290 +0x71

goroutine 7510 [semacquire]:
sync.runtime_Semacquire(0xc0015aede8)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/runtime/sema.go:56 +0x39
sync.(*WaitGroup).Wait(0xc0015aede0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/sync/waitgroup.go:130 +0x64
github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func2(0xc0015aede0, 0xc001477bc0, 0xc007f644e0, 0xc001c96840, 0x8, 0x8)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:193 +0x2b
created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:192 +0x364

goroutine 7506 [runnable]:
github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec.GetImportedName(...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/helpers.go:176
github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec.GetImportPath(0xc008f5154c, 0x4, 0xc0067f54a0, 0xc008f5154c, 0x4, 0xc008f51550)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/helpers.go:190 +0x1b9
github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec.CallList.ContainsCallExpr(0xc00662b8f0, 0x1a28ae0, 0xc0090051c0, 0xc0067f54a0, 0xc0090051c0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/call_list.go:65 +0x8b
github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/rules.(*noErrorCheck).Match(0xc00107a380, 0x1a288e0, 0xc009005200, 0xc0067f54a0, 0x2153720, 0x0, 0x0)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/rules/errors.go:56 +0x13f
github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec.(*Analyzer).Visit(0xc0067f5450, 0x1a288e0, 0xc009005200, 0xc00f73a7c8, 0x5908e99)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/analyzer.go:226 +0x494
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a288e0, 0xc009005200)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:52 +0x66
go/ast.walkStmtList(0x1a25480, 0xc0067f5450, 0xc008f70b00, 0x5, 0x8)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:32 +0x9e
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28a60, 0xc008fc1500)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:224 +0x1b67
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28f20, 0xc009012380)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:98 +0x2c10
go/ast.walkExprList(0x1a25480, 0xc0067f5450, 0xc00902e740, 0x2, 0x2)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:26 +0x9e
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28ae0, 0xc009005400)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:137 +0x1074
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28da0, 0xc0090123a0)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:196 +0x1b12
go/ast.walkStmtList(0x1a25480, 0xc0067f5450, 0xc0090123b0, 0x1, 0x1)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:32 +0x9e
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28a60, 0xc008fc1530)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:224 +0x1b67
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28ee0, 0xc008fc1560)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:344 +0xd6d
go/ast.walkDeclList(0x1a25480, 0xc0067f5450, 0xc00902e7c0, 0x2, 0x2)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:38 +0x9e
go/ast.Walk(0x1a25480, 0xc0067f5450, 0x1a28e60, 0xc008f70b80)
	/home/travis/.gimme/versions/go1.11.1.linux.amd64/src/go/ast/walk.go:353 +0x2656
github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec.(*Analyzer).ProcessProgram(0xc0067f5450, 0xc001678180)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gosec/analyzer.go:152 +0xc1
github.com/golangci/golangci-lint/pkg/golinters.Gosec.Run(0x1a2eca0, 0xc00020aea0, 0xc0063ec1c0, 0xc007cab600, 0x1888598, 0x5, 0x1a336c0, 0xc00662a870)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/gas.go:35 +0x1ae
github.com/golangci/golangci-lint/pkg/lint.Runner.runLinterSafe(0xc0007ed180, 0xe, 0xe, 0x1a336c0, 0xc007f47a10, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0x1a2db60, 0x2152a98, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:93 +0x1ab
github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker.func1()
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:127 +0xd6
github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc0067f53b0, 0x1888598, 0x5, 0xc00258fe40)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:75 +0x50
github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker(0xc0007ed180, 0xe, 0xe, 0x1a336c0, 0xc007f47a10, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0xc001477b60, 0xc001477bc0, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:126 +0x20a
github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func1(0xc0015aede0, 0xc007f644e0, 0x1a2eca0, 0xc00020aea0, 0xc0015b1260, 0xc001477b60, 0xc001477bc0, 0xc001c96840, 0x8, 0x8, ...)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:181 +0x13b
created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:178 +0x1b8

goroutine 7512 [chan receive]:
github.com/golangci/golangci-lint/pkg/lint.collectIssues.func1(0xc001477ce0, 0xc001477c80)
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:241 +0xa7
created by github.com/golangci/golangci-lint/pkg/lint.collectIssues
	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:238 +0x62

@jirfag
Copy link
Contributor

jirfag commented Nov 23, 2018

hi,
nice catch, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants