There seems to be a race condition popping up randomly, when I start the HEAD version:
[Apollo]2017/04/06 09:43:54 There are no packages that are excepted, review all items of the package
[Apollo]2017/04/06 09:43:54 start code quality assessment...
[Apollo]2017/04/06 09:43:54 computing cyclo...
[Apollo]2017/04/06 09:43:54 running unit test...
[Apollo]2017/04/06 09:43:54 simpling code...
[Apollo]2017/04/06 09:43:54 simpled code!
[Apollo]2017/04/06 09:43:54 checking copy code...
[Apollo]2017/04/06 09:43:54 running staticscan...
[Apollo]2017/04/06 09:43:54 creating depend graph...
[Apollo]2017/04/06 09:43:54 checking dead code...
[Apollo]2017/04/06 09:43:54 checking spell error...
[Apollo]2017/04/06 09:43:54 getting import packages...
fatal error: concurrent map read and map write
goroutine 37 [running]:
runtime.throw(0x169cb67, 0x21)
/usr/local/go/src/runtime/panic.go:596 +0x95 fp=0xc42003eba8 sp=0xc42003eb88
runtime.mapaccess2_faststr(0x14e5e00, 0xc4201361e0, 0x7fff5fbff7dc, 0x1, 0x0, 0x0)
/usr/local/go/src/runtime/hashmap_fast.go:326 +0x50a fp=0xc42003ec08 sp=0xc42003eba8
flag.(*FlagSet).parseOne(0xc42001e0c0, 0x0, 0x0, 0x0)
/usr/local/go/src/flag/flag.go:865 +0x192 fp=0xc42003ee10 sp=0xc42003ec08
flag.(*FlagSet).Parse(0xc42001e0c0, 0xc4200100a0, 0x8, 0x8, 0x0, 0x0)
/usr/local/go/src/flag/flag.go:913 +0x60 fp=0xc42003ee40 sp=0xc42003ee10
flag.Parse()
/usr/local/go/src/flag/flag.go:941 +0x72 fp=0xc42003ee80 sp=0xc42003ee40
github.com/wgliang/goreporter/linters/copycheck.CopyCheck(0x7fff5fbff7f6, 0x17, 0x15a74d5, 0x8, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/copycheck/copycheck.go:42 +0x34 fp=0xc42003ef58 sp=0xc42003ee80
main.(*Reporter).Engine.func4(0x7fff5fbff7f6, 0x17, 0xc4200b6240, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:166 +0x4e fp=0xc42003efc0 sp=0xc42003ef58
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc42003efc8 sp=0xc42003efc0
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:170 +0x633
goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc4200f017c)
/usr/local/go/src/runtime/sema.go:47 +0x34
sync.(*WaitGroup).Wait(0xc4200f0170)
/usr/local/go/src/sync/waitgroup.go:131 +0x7a
main.(*Reporter).Engine(0xc4200b6240, 0x7fff5fbff7f6, 0x17, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:219 +0xb6b
main.main()
/Users/joerg/golang/src/github.com/wgliang/goreporter/main.go:62 +0x1c8
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2197 +0x1
goroutine 34 [semacquire]:
sync.runtime_Semacquire(0xc42001408c)
/usr/local/go/src/runtime/sema.go:47 +0x34
sync.(*WaitGroup).Wait(0xc420014080)
/usr/local/go/src/sync/waitgroup.go:131 +0x7a
main.(*Reporter).Engine.func1(0xc420136270, 0xc4200b6240, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:116 +0x349
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:127 +0x226
goroutine 8 [syscall]:
syscall.Syscall6(0xad, 0x1, 0x19bd, 0xc42003d910, 0x24, 0x0, 0x0, 0x1e00000, 0x0, 0xc42000c560)
/usr/local/go/src/syscall/asm_darwin_amd64.s:41 +0x5
os.(*Process).blockUntilWaitable(0xc420136420, 0xc4200e4160, 0xc42000c540, 0x5)
/usr/local/go/src/os/wait_waitid.go:28 +0xa5
os.(*Process).wait(0xc420136420, 0x1010712, 0xc4200e0060, 0xc420018230)
/usr/local/go/src/os/exec_unix.go:22 +0x4d
os.(*Process).Wait(0xc420136420, 0x0, 0x0, 0x16a8ff0)
/usr/local/go/src/os/exec.go:115 +0x2b
os/exec.(*Cmd).Wait(0xc4200e4160, 0x0, 0x0)
/usr/local/go/src/os/exec/exec.go:435 +0x62
os/exec.(*Cmd).Run(0xc4200e4160, 0xc42006e000, 0xc42003db80)
/usr/local/go/src/os/exec/exec.go:280 +0x5c
github.com/wgliang/goreporter/linters/unittest.GoTestWithCoverAndRace(0xc4204119b0, 0x16, 0xc42001a888, 0x16, 0xc42001a7b0, 0x14)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/unittest/unittest.go:73 +0xf0
github.com/wgliang/goreporter/linters/unittest.UnitTest(0xc4204119b0, 0x16, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/unittest/unittest.go:30 +0x10e
main.(*Reporter).Engine.func1.1(0xc420014070, 0xc420014078, 0xc42001a630, 0xc42000c1e0, 0xc42001a690, 0xc42000c260, 0xc420014080, 0xc420411a28, 0x16, 0xc4204119b0, ...)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:66 +0x4d
created by main.(*Reporter).Engine.func1
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:113 +0x316
goroutine 9 [syscall]:
syscall.Syscall(0x3, 0x3, 0xc420144000, 0x200, 0x1e004b0, 0x19, 0xc420144000)
/usr/local/go/src/syscall/asm_darwin_amd64.s:16 +0x5
syscall.read(0x3, 0xc420144000, 0x200, 0x200, 0xc4200da000, 0x1e004b0, 0x0)
/usr/local/go/src/syscall/zsyscall_darwin_amd64.go:973 +0x55
syscall.Read(0x3, 0xc420144000, 0x200, 0x200, 0x102970f, 0x16a8598, 0xc42043bdc0)
/usr/local/go/src/syscall/syscall_unix.go:162 +0x49
os.(*File).read(0xc4200e0048, 0xc420144000, 0x200, 0x200, 0x10d0eeb, 0x14c1620, 0x200)
/usr/local/go/src/os/file_unix.go:165 +0x6a
os.(*File).Read(0xc4200e0048, 0xc420144000, 0x200, 0x200, 0xc42043bf38, 0x1ec1828, 0xc42043be60)
/usr/local/go/src/os/file.go:101 +0x76
bytes.(*Buffer).ReadFrom(0xc42006e000, 0x18c8200, 0xc4200e0048, 0x1ec1828, 0xc42006e000, 0x1)
/usr/local/go/src/bytes/buffer.go:179 +0x160
io.copyBuffer(0x18c6d00, 0xc42006e000, 0x18c8200, 0xc4200e0048, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:384 +0x2cb
io.Copy(0x18c6d00, 0xc42006e000, 0x18c8200, 0xc4200e0048, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:360 +0x68
os/exec.(*Cmd).writerDescriptor.func1(0xc42001a630, 0xc42000c1e0)
/usr/local/go/src/os/exec/exec.go:254 +0x4d
os/exec.(*Cmd).Start.func1(0xc4200e4160, 0xc42000c540)
/usr/local/go/src/os/exec/exec.go:371 +0x27
created by os/exec.(*Cmd).Start
/usr/local/go/src/os/exec/exec.go:372 +0x4e4
goroutine 35 [semacquire]:
go/scanner.(*Scanner).scanRawString(0xc42033c4a0, 0x100, 0x1f5)
/usr/local/go/src/go/scanner/scanner.go:520 +0xd3
go/scanner.(*Scanner).Scan(0xc42033c4a0, 0xc4203751d0, 0x730d1723, 0x76eb866a4946490c, 0x0)
/usr/local/go/src/go/scanner/scanner.go:654 +0x655
go/parser.(*parser).next0(0xc42033c480)
/usr/local/go/src/go/parser/parser.go:257 +0x5b
go/parser.(*parser).next(0xc42033c480)
/usr/local/go/src/go/parser/parser.go:320 +0x87
go/parser.(*parser).parseIdent(0xc42033c480, 0x20)
/usr/local/go/src/go/parser/parser.go:538 +0x64
go/parser.(*parser).parseTypeName(0xc42033c480, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:639 +0x50
go/parser.(*parser).tryIdentOrType(0xc42033c480, 0x11633dc, 0xc42033c480)
/usr/local/go/src/go/parser/parser.go:1022 +0x97
go/parser.(*parser).tryType(0xc42033c480, 0xc420375440, 0x1010712)
/usr/local/go/src/go/parser/parser.go:1051 +0x2b
go/parser.(*parser).parseType(0xc42033c480, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:621 +0x50
go/parser.(*parser).parseArrayType(0xc42033c480, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:670 +0xd3
go/parser.(*parser).tryIdentOrType(0xc42033c480, 0x10, 0xc420447ff0)
/usr/local/go/src/go/parser/parser.go:1024 +0xfe
go/parser.(*parser).tryVarType(0xc42033c480, 0x0, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:796 +0x49
go/parser.(*parser).parseFieldDecl(0xc42033c480, 0xc420375660, 0x0)
/usr/local/go/src/go/parser/parser.go:709 +0x148
go/parser.(*parser).parseStructType(0xc42033c480, 0x0)
/usr/local/go/src/go/parser/parser.go:757 +0x176
go/parser.(*parser).tryIdentOrType(0xc42033c480, 0x0, 0xc4203a9140)
/usr/local/go/src/go/parser/parser.go:1026 +0x258
go/parser.(*parser).tryType(0xc42033c480, 0x30, 0x152aa00)
/usr/local/go/src/go/parser/parser.go:1051 +0x2b
go/parser.(*parser).parseType(0xc42033c480, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:621 +0x50
go/parser.(*parser).parseTypeSpec(0xc42033c480, 0x0, 0x54, 0x0, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:2331 +0x12e
go/parser.(*parser).(go/parser.parseTypeSpec)-fm(0x0, 0x54, 0x0, 0x0, 0x1)
/usr/local/go/src/go/parser/parser.go:2430 +0x48
go/parser.(*parser).parseGenDecl(0xc42033c480, 0x54, 0xc4203759e0, 0x0)
/usr/local/go/src/go/parser/parser.go:2356 +0x38b
go/parser.(*parser).parseDecl(0xc42033c480, 0x16a8a78, 0x0, 0x0)
/usr/local/go/src/go/parser/parser.go:2442 +0xa4
go/parser.(*parser).parseFile(0xc42033c480, 0x0)
/usr/local/go/src/go/parser/parser.go:2488 +0x3ac
go/parser.ParseFile(0xc4203a2b40, 0xc4200da7b0, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/go/parser/interface.go:121 +0x1a5
github.com/wgliang/goreporter/linters/cyclo.analyzeFile(0xc4200da7b0, 0x2c, 0xc4200b4280, 0x7, 0x8, 0xc4200b4280, 0x7, 0x8)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/cyclo/cyclo.go:106 +0x7b
github.com/wgliang/goreporter/linters/cyclo.analyzeDir(0xc4202abe00, 0x1e, 0x1bf7d28, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/cyclo/cyclo.go:116 +0xf1
github.com/wgliang/goreporter/linters/cyclo.analyze(0xc420375dd8, 0x1, 0x1, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/cyclo/cyclo.go:91 +0xe7
github.com/wgliang/goreporter/linters/cyclo.Cyclo(0xc4202abe00, 0x1e, 0xc420027f58, 0x0, 0xc4200da6c0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/cyclo/cyclo.go:67 +0xa9
main.(*Reporter).Engine.func2(0xc4204103f0, 0xc4200b6240, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:138 +0xf2
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:147 +0x3c0
goroutine 36 [runnable]:
go/build.(*Context).Import(0xc42034db20, 0x7fff5fbff7f6, 0x16, 0xc42000c0e4, 0x17, 0x1, 0xc4203ba120, 0x0, 0x10)
/usr/local/go/src/go/build/build.go:486 +0x760a
github.com/wgliang/goreporter/linters/staticscan/lint/lintutil.runner.resolveRelative(0x18ca4c0, 0xc4203ba0e0, 0x1bf7d28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, ...)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/staticscan/lint/lintutil/util.go:65 +0x176
github.com/wgliang/goreporter/linters/staticscan/lint/lintutil.ProcessFlagSet(0x18ca4c0, 0xc4203ba0e0, 0xc42033e180, 0x1, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/staticscan/lint/lintutil/util.go:153 +0x4fa
github.com/wgliang/goreporter/linters/simplecode.SimpleCode(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/simplecode/simplecode.go:18 +0x179
main.(*Reporter).Engine.func3(0x7fff5fbff7f6, 0x17, 0xc4200b6240, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:152 +0x4d
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:160 +0x4b3
goroutine 38 [chan receive]:
golang.org/x/tools/go/loader.(*importer).importAll(0xc420316060, 0x0, 0x0, 0xc42000c0e4, 0x17, 0xc4203221e0, 0x0, 0x1c, 0x23d, 0x16a83ce, ...)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/loader.go:912 +0x453
golang.org/x/tools/go/loader.(*Config).Load(0xc420098d10, 0xc4203221e0, 0xc42004dd60, 0xc4200a0088)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/loader.go:520 +0x3af
github.com/wgliang/goreporter/linters/staticscan/lint/lintutil.ProcessFlagSet(0x18ca580, 0xc420318040, 0xc420316000, 0x1, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/staticscan/lint/lintutil/util.go:182 +0x7a5
github.com/wgliang/goreporter/linters/staticscan.StaticScan(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/staticscan/staticscan.go:14 +0x13f
main.(*Reporter).Engine.func5(0x7fff5fbff7f6, 0x17, 0xc4200b6240, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:175 +0x4d
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:185 +0x726
goroutine 39 [semacquire]:
os.Lstat(0xc4203b8060, 0x13, 0xc42034ae60, 0x2, 0x2, 0xc4203b8060)
/usr/local/go/src/os/stat_unix.go:45 +0x31
path/filepath.walkLink(0xc4203b8060, 0x13, 0xc42034b048, 0xc4203b8060, 0x13, 0x0, 0x0, 0xc4200bad00)
/usr/local/go/src/path/filepath/symlink.go:40 +0xd5
path/filepath.walkLinks(0xc42000c0e4, 0x13, 0xc42034b048, 0x14, 0xc42000c0e4, 0x0, 0xd)
/usr/local/go/src/path/filepath/symlink.go:77 +0x297
path/filepath.walkLinks(0xc42000c0e4, 0x14, 0xc42034b048, 0x14, 0xc42000c0f8, 0x3, 0x1)
/usr/local/go/src/path/filepath/symlink.go:68 +0x102
path/filepath.walkLinks(0xc42000c0e4, 0x17, 0xc42034b048, 0xd, 0xd, 0x0, 0x0)
/usr/local/go/src/path/filepath/symlink.go:73 +0x1ce
path/filepath.walkSymlinks(0xc42000c0e4, 0x17, 0xc42039e970, 0xd, 0x0, 0x0)
/usr/local/go/src/path/filepath/symlink.go:98 +0x5f
path/filepath.evalSymlinks(0xc42000c0e4, 0x17, 0xc42039e970, 0xd, 0x0, 0x0)
/usr/local/go/src/path/filepath/symlink_unix.go:6 +0x35
path/filepath.EvalSymlinks(0xc42000c0e4, 0x17, 0xc42039e970, 0xd, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:227 +0x35
go/build.(*Context).hasSubdir(0x1bdb860, 0x166cbbd, 0xd, 0xc42000c0e4, 0x17, 0x0, 0x10, 0xc42039e920)
/usr/local/go/src/go/build/build.go:147 +0xc9
go/build.(*Context).Import.func3(0x166cbbd, 0xd, 0x1, 0x1)
/usr/local/go/src/go/build/build.go:589 +0xac
go/build.(*Context).Import(0x1bdb860, 0x7fff5fbff7f6, 0x17, 0xc42000c0e4, 0x17, 0x0, 0xb, 0x2, 0x2)
/usr/local/go/src/go/build/build.go:615 +0x7107
github.com/wgliang/goreporter/linters/depend.processPackage(0xc42000c0e4, 0x17, 0x7fff5fbff7f6, 0x17, 0xc4203b8020, 0x2)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/depend/depend.go:157 +0xc2
github.com/wgliang/goreporter/linters/depend.Depend(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/depend/depend.go:73 +0x268
main.(*Reporter).Engine.func6(0xc4200b6240, 0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:190 +0x50
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:193 +0x833
goroutine 40 [semacquire]:
github.com/wgliang/goreporter/linters/deadcode.(*Package).Visit(0xc4203a4d80, 0x1ec1c00, 0xc420015e60, 0x18c7100, 0xc4203a4d80)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/deadcode/deadcode.go:134 +0x3f
go/ast.Walk(0x18c7100, 0xc4203a4d80, 0x1ec1c00, 0xc420015e60)
/usr/local/go/src/go/ast/walk.go:52 +0x66
go/ast.walkStmtList(0x18c7100, 0xc4203a4d80, 0xc420012e00, 0x11, 0x20)
/usr/local/go/src/go/ast/walk.go:32 +0x89
go/ast.Walk(0x18c7100, 0xc4203a4d80, 0x18ca640, 0xc420136f60)
/usr/local/go/src/go/ast/walk.go:224 +0x1f16
go/ast.Walk(0x18c7100, 0xc4203a4d80, 0x18ca8c0, 0xc420136f90)
/usr/local/go/src/go/ast/walk.go:344 +0xf63
go/ast.walkDeclList(0x18c7100, 0xc4203a4d80, 0xc420013000, 0x13, 0x20)
/usr/local/go/src/go/ast/walk.go:38 +0x89
go/ast.Walk(0x18c7100, 0xc4203a4d80, 0x18ca840, 0xc4200b8780)
/usr/local/go/src/go/ast/walk.go:353 +0x2bb1
github.com/wgliang/goreporter/linters/deadcode.doPackage(0xc420016300, 0xc420137650, 0xc420349ec0, 0x16a8960, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/deadcode/deadcode.go:103 +0x457
github.com/wgliang/goreporter/linters/deadcode.doDir(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/deadcode/deadcode.go:42 +0x175
github.com/wgliang/goreporter/linters/deadcode.DeadCode(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/deadcode/deadcode.go:16 +0x35
main.(*Reporter).Engine.func7(0xc4200b6240, 0x7fff5fbff7f6, 0x17, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:198 +0x39
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:201 +0x926
goroutine 41 [semacquire]:
flag.(*FlagSet).Var(0xc42001e0c0, 0x18ca280, 0xc4203ba01b, 0x157428a, 0x5, 0x1698384, 0x19)
/usr/local/go/src/flag/flag.go:798 +0x1a0
flag.(*FlagSet).BoolVar(0xc42001e0c0, 0xc4203ba01b, 0x157428a, 0x5, 0x16a6600, 0x1698384, 0x19)
/usr/local/go/src/flag/flag.go:566 +0x70
flag.(*FlagSet).Bool(0xc42001e0c0, 0x157428a, 0x5, 0x0, 0x1698384, 0x19, 0xc4203ba060)
/usr/local/go/src/flag/flag.go:579 +0x7f
flag.Bool(0x157428a, 0x5, 0x1572400, 0x1698384, 0x19, 0x4b)
/usr/local/go/src/flag/flag.go:586 +0x5e
github.com/wgliang/goreporter/linters/spellcheck.SpellCheck(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/spellcheck/spellcheck.go:103 +0x34b
main.(*Reporter).Engine.func8(0xc4200b6240, 0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:206 +0x53
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:209 +0xa33
goroutine 42 [runnable]:
syscall.Syscall(0x3, 0x8, 0xc42032d938, 0x8, 0x0, 0x0, 0x0)
/usr/local/go/src/syscall/asm_darwin_amd64.s:16 +0x5
syscall.readlen(0x8, 0xc42032d938, 0x8, 0x6, 0xc420308300, 0x20)
/usr/local/go/src/syscall/zsyscall_darwin_amd64.go:1393 +0x56
syscall.forkExec(0xc4202d0d20, 0x14, 0xc4202a13b0, 0x5, 0x5, 0xc42032dac8, 0x0, 0x0, 0x0)
/usr/local/go/src/syscall/exec_unix.go:202 +0x3d3
syscall.StartProcess(0xc4202d0d20, 0x14, 0xc4202a13b0, 0x5, 0x5, 0xc42032dac8, 0x2, 0x4, 0x0, 0xc42032da98)
/usr/local/go/src/syscall/exec_unix.go:240 +0x64
os.startProcess(0xc4202d0d20, 0x14, 0xc4202a13b0, 0x5, 0x5, 0xc42032dc70, 0xc420340000, 0x1f, 0x1f)
/usr/local/go/src/os/exec_posix.go:45 +0x1a3
os.StartProcess(0xc4202d0d20, 0x14, 0xc4202a13b0, 0x5, 0x5, 0xc42032dc70, 0x0, 0x0, 0xc42032dc10)
/usr/local/go/src/os/exec.go:94 +0x64
os/exec.(*Cmd).Start(0xc4200ac000, 0xc4202a1301, 0xc4200cc0e0)
/usr/local/go/src/os/exec/exec.go:359 +0x3d2
os/exec.(*Cmd).Run(0xc4200ac000, 0xc4200cc0e0, 0xc42032de28)
/usr/local/go/src/os/exec/exec.go:277 +0x2b
github.com/wgliang/goreporter/linters/unittest.GoListWithImportPackages(0x7fff5fbff7f6, 0x17, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/github.com/wgliang/goreporter/linters/unittest/unittest.go:90 +0x14b
main.(*Reporter).Engine.func9(0xc4202d0c40, 0x7fff5fbff7f6, 0x17, 0xc4200f0170)
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:215 +0x35
created by main.(*Reporter).Engine
/Users/joerg/golang/src/github.com/wgliang/goreporter/engine.go:217 +0xb5a
goroutine 21 [semacquire]:
sync.runtime_Semacquire(0xc4200d890c)
/usr/local/go/src/runtime/sema.go:47 +0x34
sync.(*WaitGroup).Wait(0xc4200d8900)
/usr/local/go/src/sync/waitgroup.go:131 +0x7a
golang.org/x/tools/go/loader.parseFiles(0xc4200dc480, 0xc4203249c0, 0x0, 0xc420322450, 0x2e, 0xc4200d8660, 0x1, 0x1, 0x4, 0xc4200101f8, ...)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/util.go:67 +0x3c9
golang.org/x/tools/go/loader.(*Config).parsePackageFiles(0xc420098d10, 0xc420080a80, 0x67, 0xc420322450, 0x2e, 0xc420098dc0, 0x0, 0x0, 0x0)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/loader.go:753 +0x11f
golang.org/x/tools/go/loader.(*importer).load(0xc420316060, 0xc420080a80, 0x0)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/loader.go:975 +0xa2
golang.org/x/tools/go/loader.(*importer).startLoad.func1(0xc420316060, 0xc420080a80, 0xc420319080)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/loader.go:961 +0x35
created by golang.org/x/tools/go/loader.(*importer).startLoad
/Users/joerg/golang/src/golang.org/x/tools/go/loader/loader.go:963 +0x1e7
goroutine 22 [runnable]:
bytes.makeSlice(0x600, 0x0, 0x0, 0x0)
/usr/local/go/src/bytes/buffer.go:201 +0x77
bytes.(*Buffer).ReadFrom(0xc42013a000, 0x18c8200, 0xc420360090, 0x1ec1828, 0xc42013a000, 0x1)
/usr/local/go/src/bytes/buffer.go:173 +0x2ab
io.copyBuffer(0x18c6d00, 0xc42013a000, 0x18c8200, 0xc420360090, 0x0, 0x0, 0x0, 0x1528840, 0x14e0301, 0xc42013a000)
/usr/local/go/src/io/io.go:384 +0x2cb
io.Copy(0x18c6d00, 0xc42013a000, 0x18c8200, 0xc420360090, 0xc420360090, 0xc420029601, 0x109c5a0)
/usr/local/go/src/io/io.go:360 +0x68
go/parser.readSource(0xc4200dda40, 0x37, 0x1561a40, 0xc420360090, 0x0, 0x0, 0xc420029700, 0x109b1d6, 0xc4200dda40)
/usr/local/go/src/go/parser/interface.go:39 +0x23f
go/parser.ParseFile(0xc4200dc480, 0xc4200dda40, 0x37, 0x1561a40, 0xc420360090, 0x4, 0x0, 0x0, 0x0)
/usr/local/go/src/go/parser/interface.go:90 +0x9d
golang.org/x/tools/go/loader.parseFiles.func2(0xc4200d8900, 0xc4203249c0, 0xc420319100, 0xc4203190e0, 0xc4200dc480, 0xc420360080, 0x4, 0x0, 0xc4200dda40, 0x37)
/Users/joerg/golang/src/golang.org/x/tools/go/loader/util.go:63 +0x1ad
created by golang.org/x/tools/go/loader.parseFiles
/Users/joerg/golang/src/golang.org/x/tools/go/loader/util.go:65 +0x298