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

Internal error, out of memory #483

Closed
howardjohn opened this issue Apr 4, 2019 · 14 comments
Closed

Internal error, out of memory #483

howardjohn opened this issue Apr 4, 2019 · 14 comments

Comments

@howardjohn
Copy link

Example: https://golangci.com/r/github.com/istio/istio/pulls/13041

Please include the following information:

  1. Version of golangci-lint: 1.15.x
  2. Config file: https://github.com/istio/istio/blob/master/.golangci.yml
  3. Verbose output of running: See link above
$ GOLANGCI_COM_RUN=1 golangci-lint run --out-format=json --issues-exit-code=0 --deadline=5m --new=false --new-from-rev= --new-from-patch=../changes.patch
    fatal error: runtime: out of memory
    
    runtime stack:
    runtime.throw(0xe79fc5, 0x16)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/panic.go:617 +0x72
    runtime.sysMap(0xc364000000, 0x4000000, 0x17fd0b8)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mem_linux.go:170 +0xc7
    runtime.(*mheap).sysAlloc(0x17dec20, 0x2000, 0x17dec30, 0x1)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/malloc.go:633 +0x1cd
    runtime.(*mheap).grow(0x17dec20, 0x1, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mheap.go:1232 +0x42
    runtime.(*mheap).allocSpanLocked(0x17dec20, 0x1, 0x17fd0c8, 0x7f3037830fc8)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mheap.go:1150 +0x3a7
    runtime.(*mheap).alloc_m(0x17dec20, 0x1, 0x7ffc7cd0003e, 0x7f3037830fc8)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mheap.go:977 +0xc2
    runtime.(*mheap).alloc.func1()
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mheap.go:1048 +0x4c
    runtime.systemstack(0x4591c9)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/asm_amd64.s:351 +0x66
    runtime.mstart()
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/proc.go:1153
    
    goroutine 24965 [running]:
    runtime.systemstack_switch()
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/asm_amd64.s:311 fp=0xc0e95a71a0 sp=0xc0e95a7198 pc=0x4592c0
    runtime.(*mheap).alloc(0x17dec20, 0x1, 0x1003e, 0xc363fe5d40)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mheap.go:1047 +0x8a fp=0xc0e95a71f0 sp=0xc0e95a71a0 pc=0x42493a
    runtime.(*mcentral).grow(0x17dff20, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mcentral.go:256 +0x95 fp=0xc0e95a7238 sp=0xc0e95a71f0 pc=0x417875
    runtime.(*mcentral).cacheSpan(0x17dff20, 0xc363fe5d40)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mcentral.go:106 +0x2ff fp=0xc0e95a7298 sp=0xc0e95a7238 pc=0x41737f
    runtime.(*mcache).refill(0x7f3065422d98, 0x3e)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/mcache.go:135 +0x86 fp=0xc0e95a72b8 sp=0xc0e95a7298 pc=0x416e16
    runtime.(*mcache).nextFree(0x7f3065422d98, 0xc363fd013e, 0x1, 0x1, 0x1)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/malloc.go:786 +0x88 fp=0xc0e95a72f0 sp=0xc0e95a72b8 pc=0x40b718
    runtime.mallocgc(0x400, 0xd1acc0, 0x851601, 0xc363fd0000)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/malloc.go:939 +0x76e fp=0xc0e95a7390 sp=0xc0e95a72f0 pc=0x40c02e
    runtime.growslice(0xd1acc0, 0xc3638cba00, 0x20, 0x20, 0x21, 0xc3638cba00, 0x10, 0x20)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/slice.go:181 +0x1e6 fp=0xc0e95a73f8 sp=0xc0e95a7390 pc=0x442c66
    go/parser.(*parser).parseStmtList(0xc363fd0000, 0xc3638cba00, 0x20, 0x20)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/parser/parser.go:1068 +0x10e fp=0xc0e95a7458 sp=0xc0e95a73f8 pc=0x849dce
    go/parser.(*parser).parseBody(0xc363fd0000, 0xc363fe25c0, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/parser/parser.go:1082 +0x15f fp=0xc0e95a74e8 sp=0xc0e95a7458 pc=0x849fcf
    go/parser.(*parser).parseFuncDecl(0xc363fd0000, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/parser/parser.go:2441 +0x366 fp=0xc0e95a75a8 sp=0xc0e95a74e8 pc=0x8530e6
    go/parser.(*parser).parseDecl(0xc363fd0000, 0xc000095770, 0x0, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/parser/parser.go:2485 +0x155 fp=0xc0e95a7600 sp=0xc0e95a75a8 pc=0x853315
    go/parser.(*parser).parseFile(0xc363fd0000, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/parser/parser.go:2540 +0x310 fp=0xc0e95a76f0 sp=0xc0e95a7600 pc=0x8536f0
    go/parser.ParseFile(0xc363da7680, 0xc00355ac00, 0x3b, 0xcaab20, 0xc363db0e20, 0x4, 0x0, 0x0, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/parser/interface.go:117 +0x183 fp=0xc0e95a7768 sp=0xc0e95a76f0 pc=0x8428f3
    github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.parse(0xc363da7680, 0xc00355ac00, 0x3b, 0xc354308800, 0x3455, 0x3655, 0x164bb60, 0x0, 0x0, 0xfbef00, ...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/imports.go:138 +0xee fp=0xc0e95a7820 sp=0xc0e95a7768 pc=0x9e1dbe
    github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.process(0xc00355ac00, 0x3b, 0xc354308800, 0x3455, 0x3655, 0x164bb60, 0xc3638c7d80, 0xc363ea6000, 0x1f64, 0x3b2e, ...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/imports.go:66 +0x101 fp=0xc0e95a7958 sp=0xc0e95a7820 pc=0x9e1531
    github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports.Process(...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/imports/imports.go:50
    github.com/golangci/golangci-lint/vendor/github.com/golangci/gofmt/goimports.Run(0xc00355ac00, 0x3b, 0x0, 0x0, 0x0, 0x0, 0x0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/gofmt/goimports/golangci.go:17 +0x148 fp=0xc0e95a7a28 sp=0xc0e95a7958 pc=0xa00958
    github.com/golangci/golangci-lint/pkg/golinters.Gofmt.Run(0x1, 0xfd5360, 0xc000073aa0, 0xc0a7a5f3b0, 0xc0ab317c70, 0x1, 0x1, 0xfdc200, 0xc0ab2e3e80)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/gofmt.go:293 +0x112 fp=0xc0e95a7b50 sp=0xc0e95a7a28 pc=0xbdb4e2
    github.com/golangci/golangci-lint/pkg/golinters.(*Gofmt).Run(0xc0003df341, 0xfd5360, 0xc000073aa0, 0xc0a7a5f3b0, 0xc0aa125230, 0xc0495d8ae0, 0x17e2d20, 0xc007e71911, 0x4)
    	<autogenerated>:1 +0x61 fp=0xc0e95a7ba8 sp=0xc0e95a7b50 pc=0xbe77c1
    github.com/golangci/golangci-lint/pkg/lint.(*Runner).runLinterSafe(0xc071780ee0, 0xfd5360, 0xc000073aa0, 0xc0aafb6a80, 0xc000588e80, 0x0, 0x0, 0x0, 0x0, 0x0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:112 +0x16a fp=0xc0e95a7ca8 sp=0xc0e95a7ba8 pc=0xc0846a
    github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker.func1()
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:146 +0x64 fp=0xc0e95a7d18 sp=0xc0e95a7ca8 pc=0xc0a144
    github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc0a7a39900, 0xe16ca9, 0x9, 0xc0047d4e40)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:75 +0x50 fp=0xc0e95a7d78 sp=0xc0e95a7d18 pc=0xc03730
    github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker(0xc0ab022120, 0x11, 0x11, 0xfdf320, 0xc0ab340f30, 0xfd5360, 0xc000073aa0, 0xc0aafb6a80, 0xc0ab374f60, 0xc0ab375020, ...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:145 +0x23b fp=0xc0e95a7ee0 sp=0xc0e95a7d78 pc=0xc0882b
    github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func1(0xc0ab3ca960, 0xc0ab3aca20, 0xfd5360, 0xc000073aa0, 0xc0aafb6a80, 0xc0ab374f60, 0xc0ab375020, 0xc0ab375080, 0x4, 0x4, ...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:200 +0x163 fp=0xc0e95a7f88 sp=0xc0e95a7ee0 pc=0xc0a373
    runtime.goexit()
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc0e95a7f90 sp=0xc0e95a7f88 pc=0x45b211
    created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:197 +0x1ab
    
    goroutine 1 [chan receive]:
    github.com/golangci/golangci-lint/pkg/printers.JSON.Print(0xc00040f3e0, 0xfd5360, 0xc000073aa0, 0xc0ab375200, 0xc00040f380, 0xc0ab375200)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/printers/json.go:30 +0xab
    github.com/golangci/golangci-lint/pkg/commands.(*Executor).runAndPrint(0xc00040f380, 0xfd5360, 0xc000073aa0, 0xc000073a40, 0x0, 0x6, 0x0, 0x0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:350 +0x253
    github.com/golangci/golangci-lint/pkg/commands.(*Executor).executeRun(0xc00040f380, 0xc0005b2f00, 0xc000073a40, 0x0, 0x6)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:398 +0x153
    github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra.(*Command).execute(0xc0005b2f00, 0xc000073980, 0x6, 0x6, 0xc0005b2f00, 0xc000073980)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra/command.go:760 +0x2ae
    github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc0005b2c80, 0x6, 0xfa8bf0, 0x7)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra/command.go:846 +0x2ec
    github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra.(*Command).Execute(...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/spf13/cobra/command.go:794
    github.com/golangci/golangci-lint/pkg/commands.(*Executor).Execute(...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/executor.go:107
    main.main()
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/cmd/golangci-lint/main.go:20 +0x80
    
    goroutine 24970 [chan receive]:
    github.com/golangci/golangci-lint/pkg/commands.(*Executor).setExitCodeIfIssuesFound.func1(0xc0ab3751a0, 0xc0ab375200, 0xc00040f380)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:309 +0x134
    created by github.com/golangci/golangci-lint/pkg/commands.(*Executor).setExitCodeIfIssuesFound
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/commands/run.go:307 +0x71
    
    goroutine 24964 [running]:
    	goroutine running on other thread; stack unavailable
    created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:197 +0x1ab
    
    goroutine 24963 [runnable]:
    syscall.Syscall6(0x106, 0xffffffffffffff9c, 0xc363793060, 0xc363e41078, 0x0, 0x0, 0x0, 0x0, 0xc363e41078, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/syscall/asm_linux_amd64.s:44 +0x5
    syscall.fstatat(0xffffffffffffff9c, 0xc363793040, 0x1e, 0xc363e41078, 0x0, 0x0, 0x1e)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/syscall/zsyscall_linux_amd64.go:1520 +0xcb
    syscall.Stat(...)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/syscall/syscall_linux_amd64.go:64
    os.statNolog(0xc363793040, 0x1e, 0xc363793040, 0x1e, 0x1, 0xc363793040)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/os/stat_unix.go:31 +0x6f
    os.Stat(0xc363793040, 0x1e, 0x3, 0x3, 0xc363793040, 0x1e)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/os/stat.go:13 +0x4d
    go/build.(*Context).isDir(0x17d8c20, 0xc363793040, 0x1e, 0x3)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/build/build.go:131 +0x4a
    go/build.(*Context).Import(0x17d8c20, 0xc08417e561, 0x16, 0xc0030f7840, 0x32, 0x3, 0xcb5260, 0x40bba9, 0x71)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/build/build.go:671 +0x5b7f
    go/build.Import(...)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/build/build.go:1280
    github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/internal/gcimporter.FindPkg(0xc08417e561, 0x16, 0xc0030f7840, 0x32, 0xc0030f7840, 0x40894d, 0xc0030f7840, 0x6a17b17771207df0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go:56 +0x330
    github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/gcexportdata.Find(...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go:45
    github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/gcexportdata.importer.ImportFrom(0xc000160e80, 0xc36322d620, 0xc08417e561, 0x16, 0xc0030f7840, 0x32, 0x0, 0x0, 0x0, 0x0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/golang.org/x/tools/go/gcexportdata/importer.go:40 +0x7f
    go/types.(*Checker).importPackage(0xc0006adc20, 0x35ebcef, 0xc08417e561, 0x16, 0xc0030f7840, 0x32, 0xc363bc5c20)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/types/resolver.go:156 +0x180
    go/types.(*Checker).collectObjects(0xc0006adc20)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/types/resolver.go:256 +0x15f9
    go/types.(*Checker).checkFiles(0xc0006adc20, 0xc362b938c8, 0x1, 0x1, 0x0, 0x0)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/types/check.go:252 +0x97
    go/types.(*Checker).Files(...)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/types/check.go:245
    go/types.(*Config).Check(0xc36322b700, 0xc084079310, 0x4, 0xc000160e80, 0xc362b938c8, 0x1, 0x1, 0xc3632304b0, 0x0, 0xc36308f790, ...)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/go/types/api.go:351 +0x11c
    github.com/golangci/golangci-lint/vendor/github.com/golangci/lint-1.(*pkg).typeCheck(0xc363230460, 0x4cb8a3, 0xc08b8725a0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/lint-1/lint.go:324 +0x313
    github.com/golangci/golangci-lint/vendor/github.com/golangci/lint-1.(*pkg).lint(0xc363230460, 0xc36322d5f0, 0xc0030f7840, 0x3a)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/lint-1/lint.go:194 +0x40
    github.com/golangci/golangci-lint/vendor/github.com/golangci/lint-1.(*Linter).LintASTFiles(0xc216aa9990, 0xc362b938b8, 0x1, 0x1, 0xc000160e80, 0x1, 0xc362b938b8, 0x0, 0x1, 0xc00355b900)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/vendor/github.com/golangci/lint-1/lint.go:156 +0x7f0
    github.com/golangci/golangci-lint/pkg/golinters.Golint.lintPkg(0x0, 0xc362b938b8, 0x1, 0x1, 0xc000160e80, 0xc000160e80, 0x0, 0x0, 0x0, 0x0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/golint.go:50 +0x74
    github.com/golangci/golangci-lint/pkg/golinters.Golint.Run(0xfd5360, 0xc000073aa0, 0xc0ab3cef50, 0xc0ab317c70, 0x1, 0x1, 0xfdc200, 0xc0ab2e3e80)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/golinters/golint.go:34 +0x130
    github.com/golangci/golangci-lint/pkg/lint.(*Runner).runLinterSafe(0xc0781ffee0, 0xfd5360, 0xc000073aa0, 0xc0aafb6a80, 0xc000588600, 0x0, 0x0, 0x0, 0x0, 0x0)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:112 +0x16a
    github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker.func1()
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:146 +0x64
    github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc0ab3d0050, 0xdf71f7, 0x6, 0xc001ff0e40)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:75 +0x50
    github.com/golangci/golangci-lint/pkg/lint.Runner.runWorker(0xc0ab022120, 0x11, 0x11, 0xfdf320, 0xc0ab340f30, 0xfd5360, 0xc000073aa0, 0xc0aafb6a80, 0xc0ab374f60, 0xc0ab375020, ...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:145 +0x23b
    github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func1(0xc0ab3ca960, 0xc0ab3aca20, 0xfd5360, 0xc000073aa0, 0xc0aafb6a80, 0xc0ab374f60, 0xc0ab375020, 0xc0ab375080, 0x4, 0x4, ...)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:200 +0x163
    created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:197 +0x1ab
    
    goroutine 24969 [chan receive]:
    github.com/golangci/golangci-lint/pkg/lint.collectIssues.func1(0xc0ab3751a0, 0xc0ab375140)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:267 +0x8f
    created by github.com/golangci/golangci-lint/pkg/lint.collectIssues
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:264 +0x62
    
    goroutine 24968 [chan receive]:
    github.com/golangci/golangci-lint/pkg/lint.Runner.processLintResults.func1(0xc0ab3aca50, 0xc0ab375140, 0xc0ab375020)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:230 +0x194
    created by github.com/golangci/golangci-lint/pkg/lint.Runner.processLintResults
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:224 +0xb6
    
    goroutine 24967 [semacquire]:
    sync.runtime_Semacquire(0xc0ab3ca968)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/runtime/sema.go:56 +0x39
    sync.(*WaitGroup).Wait(0xc0ab3ca960)
    	/home/travis/.gimme/versions/go1.12.1.linux.amd64/src/sync/waitgroup.go:130 +0x65
    github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers.func2(0xc0ab3ca960, 0xc0ab375020, 0xc0ab3aca20, 0xc0ab375080, 0x4, 0x4)
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:212 +0x2f
    created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:211 +0x2d9
    
    goroutine 24966 [running]:
    	goroutine running on other thread; stack unavailable
    created by github.com/golangci/golangci-lint/pkg/lint.(*Runner).runWorkers
    	/home/travis/gopath/src/github.com/golangci/golangci-lint/pkg/lint/runner.go:197 +0x1ab
@jen20
Copy link

jen20 commented Apr 5, 2019

I've been seeing the same symptoms since upgrading to golangci-lint v1.16.0 on our repositories at Pulumi:

@jen20
Copy link

jen20 commented Apr 6, 2019

We found that disabling the staticcheck linter fixed this in CI temporarily: pulumi/pulumi-aws@8a24c9a

@jen20
Copy link

jen20 commented Apr 11, 2019

I've also found this with megacheck on some repositories.

@lbcjbb
Copy link

lbcjbb commented Apr 18, 2019

Same issue for our repository in v1.16.0, out of memory with 32Go of memory. No problem in v1.15.0.

@jirfag
Copy link
Member

jirfag commented Apr 21, 2019

Hi, thank you for the issue!
I'll investigate. As a workaround, you can tweak GOGC

@jen20
Copy link

jen20 commented Apr 21, 2019

Thanks @jirfag! I'll test this in our environment this week.

@benma
Copy link

benma commented Jun 13, 2019

If it helps anyone: I was on golangci 1.12 and had severe memory/performance regressions after updating to Go 1.12. Upgrading to golangci 1.16.0 fixed it for me.

@lbcjbb
Copy link

lbcjbb commented Jun 13, 2019

Same problem with go 1.12 and golanci-lint 1.17.1.

1.15.0 => ~3Go RAM used
1.16.0 => 22Go
1.17.1 => 22Go

For the same returned warnings and errors. Tested in a repository with ~4000 Go files.

@alexec
Copy link
Contributor

alexec commented Jun 13, 2019

+1 to this issue.

@medyagh
Copy link

medyagh commented Jul 23, 2019

we also had this Issue in minikube: see logs at: https://travis-ci.org/kubernetes/minikube/jobs/562528986

@medyagh
Copy link

medyagh commented Jul 23, 2019

@jirfag it worth noting that in minikube we are already using GOGC = 10 but we still get the issue !

here is from our current Makefile
GOLINT_GOGC ?= 10

	GOGC=${GOLINT_GOGC} ./out/linters/golangci-lint run \
	  --concurrency ${GOLINT_JOBS} \
	  --deadline 4m \
	  --build-tags "${MINIKUBE_INTEGRATION_BUILD_TAGS}" \
	  --enable goimports,gocritic,golint,gocyclo,interfacer,misspell,nakedret,stylecheck,unconvert,unparam \
	  --exclude 'variable on range scope.*in function literal|ifElseChain' \
	  ./...

@korjavin
Copy link

We also have an issue with memory

@crosbymichael
Copy link

crosbymichael commented Sep 17, 2019

For those still hitting this, we had the same issue on containerd and found that GOGC=75 and pinning to 1.18 right now works on travis-ci and appveyor.

containerd/containerd#3657

jirfag added a commit that referenced this issue Sep 23, 2019
Set analysis pass results to nil early to garbage collect them
soon.
Memory can be reduced for the following linters:
  - staticcheck
  - stylecheck
  - gosimple
  - govet
  - bodyclose
  - any future go/analysis linter

Relates: #712, #634, #628, #598, #509, #483, #337
jirfag added a commit that referenced this issue Sep 23, 2019
Set analysis pass results to nil early to garbage collect them
soon.
Memory can be reduced for the following linters:
  - staticcheck
  - stylecheck
  - gosimple
  - govet
  - bodyclose
  - any future go/analysis linter

Relates: #712, #634, #628, #598, #509, #483, #337
@jirfag
Copy link
Member

jirfag commented Sep 23, 2019

hi, thank you!
but let's continue in #337: it's difficult to manage repository when there are many duplicates

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

9 participants