golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
123.51k stars 17.6k forks source link

runtime: fatal error: checkmark found unmarked object #9951

Closed anacrolix closed 9 years ago

anacrolix commented 9 years ago

go version 2bcfe8b9357f5f823211157c3b67bb03e2f89a2d

runtime:greyobject: checkmarks finds unexpected unmarked object obj=0xc21475b4a0 runtime: found obj at _(0xc21475b440+0x10) runtime:greyobject Span: base=0xc21475b440 kb=0x610a3ad sb.start__PageSize=0xc21475a000 sb.limit=0xc21475bfe0 sb.sizeclass=7 sb.elemsize=96 (base+0) = 0x0 (base+8) = 0x4 (base+16) = 0xc21475b4a0 (base+24) = 0x18 (base+32) = 0x733140 (base+40) = 0x2 (base+48) = 0x2 (base+56) = 0x0 (base+64) = 0x0 (base+72) = 0x0 (base+80) = 0x0 (base+88) = 0x0 runtime:greyobject Span: obj=0xc21475b4a0 k=0x610a3ad s.start=0xc21475a000 s.limit=0xc21475bfe0 s.sizeclass=7 s.elemsize=96 (obj+0) = 0x0 (obj+8) = 0x0 (obj+16) = 0x0 (obj+24) = 0x0 (obj+32) = 0x0 (obj+40) = 0x0 *(obj+48) = 0x0 fatal error: checkmark found unmarked object

runtime stack: runtime.throw(0x8f43f0, 0x1f) /root/src/go/src/runtime/panic.go:511 +0xa0 fp=0x7fff539e2538 sp=0x7fff539e2520 runtime.greyobject(0xc21475b4a0, 0xc21475b440, 0x10, 0xc20738a4b5, 0x0, 0x7f66040ab600, 0x7f66041201a8) /root/src/go/src/runtime/mgc.go:307 +0x3b1 fp=0x7fff539e25d8 sp=0x7fff539e2538 runtime.scanobject(0xc21475b440, 0x3fc4bc0, 0x0, 0x7f66040ab600, 0x7f6604120180) /root/src/go/src/runtime/mgc.go:416 +0x349 fp=0x7fff539e2688 sp=0x7fff539e25d8 runtime.gcDrain(0x7f66040ab600) /root/src/go/src/runtime/mgc.go:489 +0x153 fp=0x7fff539e26b8 sp=0x7fff539e2688 runtime.gchelper() /root/src/go/src/runtime/mgc.go:1142 +0x74 fp=0x7fff539e26e8 sp=0x7fff539e26b8 runtime.stopm() /root/src/go/src/runtime/proc1.go:1001 +0x16c fp=0x7fff539e2710 sp=0x7fff539e26e8 runtime.findrunnable(0xc208012000) /root/src/go/src/runtime/proc1.go:1323 +0x50b fp=0x7fff539e2778 sp=0x7fff539e2710 runtime.schedule() /root/src/go/src/runtime/proc1.go:1422 +0x1fa fp=0x7fff539e27a8 sp=0x7fff539e2778 runtime.park_m(0xc20bda3d40) /root/src/go/src/runtime/proc1.go:1499 +0x14e fp=0x7fff539e27d0 sp=0x7fff539e27a8 runtime.mcall(0x7fff539e2810) /root/src/go/src/runtime/asm_amd64.s:191 +0x5e fp=0x7fff539e27e0 sp=0x7fff539e27d0

RLH commented 9 years ago

Thanks for the report, could you add some notes about what HW/OS this happened on and what steps might reproduce it. Was there more to the stack trace, perhaps other go routine stacks? Even if you can't reproduce it easily the information is important to us.

anacrolix commented 9 years ago

linux/amd64 ubuntu 14.04

process ran for about 2-3 days, there was no evidence of memory issues when it triggered, nothing unusual was occuring in the logs or elsewhere.

i have no other stack traces, sorry

RLH commented 9 years ago

That's unfortunate, does this program normally run 24x7 so that when we fix the elusive "last known bug" we can have some assurance that this one is also fixed? Say by letting the application run for a week. In any case thanks and keep sending us any bugs you sight.

anacrolix commented 9 years ago

Yes it runs for upwards of a week between updates.

anacrolix commented 9 years ago

It frequently occurs with gorename.

runtime:greyobject: checkmarks finds unexpected unmarked object obj=0x20ad94238, mbits->bits=0x1 mbits->bitp=0x9b runtime: found obj at (0x209f58d40+0x0) runtime:greyobject Span: obj=0x20ad94238 k=0x1056ca s.start=0x20ad94000 s.limit=0x20ad96000 s.sizeclass=1 s.elemsize=8 *(obj+0) = 0x209f58d20 fatal error: checkmark found unmarked object

runtime stack: runtime.throw(0x344470, 0x1f) /Users/anacrolix/src/go/src/runtime/panic.go:508 +0x98 fp=0x208509c98 sp=0x208509c80 runtime.greyobject(0x20ad94238, 0x209f58d40, 0x0, 0x208509d88, 0x22086b1c40, 0x22086b1c40) /Users/anacrolix/src/go/src/runtime/mgc.go:437 +0x2c9 fp=0x208509cf8 sp=0x208509c98 runtime.scanobject(0x209f58d40, 0x42532c0, 0x0, 0x22086b1c40, 0x22086b1c40) /Users/anacrolix/src/go/src/runtime/mgc.go:570 +0x3f2 fp=0x208509da8 sp=0x208509cf8 runtime.drainworkbuf(0x22086b1c40, 0x1) /Users/anacrolix/src/go/src/runtime/mgc.go:647 +0x184 fp=0x208509dd8 sp=0x208509da8 runtime.scanblock(0x0, 0x0, 0x0) /Users/anacrolix/src/go/src/runtime/mgc.go:607 +0xe5 fp=0x208509e20 sp=0x208509dd8 runtime.gc(0x13c6098c2c685d5c, 0x400000000) /Users/anacrolix/src/go/src/runtime/mgc.go:2026 +0x322 fp=0x208509f70 sp=0x208509e20 runtime.gc_m(0x13c6098c2c685d5c, 0x2084dc500) /Users/anacrolix/src/go/src/runtime/mgc.go:1698 +0x83 fp=0x208509f90 sp=0x208509f70 runtime.gccheckmark_m(0x13c6098c2c685d5c, 0x0) /Users/anacrolix/src/go/src/runtime/mgc.go:1866 +0x70 fp=0x208509fa8 sp=0x208509f90 runtime.func·010() /Users/anacrolix/src/go/src/runtime/malloc.go:582 +0x36 fp=0x208509fc0 sp=0x208509fa8 runtime.systemstack(0x2084dd110) /Users/anacrolix/src/go/src/runtime/asm_amd64.s:244 +0x71 fp=0x208509fc8 sp=0x208509fc0 runtime.mstart() /Users/anacrolix/src/go/src/runtime/proc1.go:714 fp=0x208509fd0 sp=0x208509fc8

goroutine 3 [garbage collection]: runtime.systemstack_switch() /Users/anacrolix/src/go/src/runtime/asm_amd64.s:199 fp=0x2084f6f48 sp=0x2084f6f40 runtime.gcwork(0x0) /Users/anacrolix/src/go/src/runtime/malloc.go:583 +0x2b9 fp=0x2084f6fc0 sp=0x2084f6f48 runtime.backgroundgc() /Users/anacrolix/src/go/src/runtime/mgc0.go:87 +0x62 fp=0x2084f6fe0 sp=0x2084f6fc0 runtime.goexit() /Users/anacrolix/src/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2084f6fe8 sp=0x2084f6fe0 created by runtime.gogc /Users/anacrolix/src/go/src/runtime/malloc.go:501 +0xe2

goroutine 1 [runnable]: golang.org/x/tools/go/types.(_Checker).updateExprType(0x20b514000, 0x22084f0000, 0x20a9a3960, 0x22084ef640, 0x471320, 0xe19413af6647c301) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:358 fp=0x20d1bb1b0 sp=0x20d1bb1a8 golang.org/x/tools/go/types.(_Checker).convertUntyped(0x20b514000, 0x20a81ed80, 0x22084ef640, 0x471320) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:558 +0x669 fp=0x20d1bb370 sp=0x20d1bb1b0 golang.org/x/tools/go/types.(_Checker).assignment(0x20b514000, 0x20a81ed80, 0x22084ef640, 0x471320, 0x20a9d0a00) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/assignments.go:56 +0x326 fp=0x20d1bb450 sp=0x20d1bb370 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20a81ed80, 0x22084f17e0, 0x20ab98040, 0x22084ef840, 0x20a9d0b10, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1061 +0x253f fp=0x20d1bbae8 sp=0x20d1bb450 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20a81ed80, 0x22084f17e0, 0x20ab98040, 0x22084ef840, 0x20a9d0b10, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1bbbd8 sp=0x20d1bbae8 golang.org/x/tools/go/types.(_Checker).exprWithHint(0x20b514000, 0x20a81ed80, 0x22084f17e0, 0x20ab98040, 0x22084ef840, 0x20a9d0b10) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1449 +0x8c fp=0x20d1bbc88 sp=0x20d1bbbd8 golang.org/x/tools/go/types.(_Checker).indexedElts(0x20b514000, 0x20cf61400, 0x21, 0x40, 0x22084ef840, 0x20a9d0b10, 0xffffffffffffffff, 0x62) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:876 +0x3f2 fp=0x20d1bbdd0 sp=0x20d1bbc88 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20ac1f9c0, 0x22084f17e0, 0x20ab98180, 0x0, 0x0, 0x20acad3c8) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1082 +0x72d fp=0x20d1bc468 sp=0x20d1bbdd0 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20ac1f9c0, 0x22084f17e0, 0x20ab98180, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1bc558 sp=0x20d1bc468 golang.org/x/tools/go/types.(_Checker).expr(0x20b514000, 0x20ac1f9c0, 0x22084f17e0, 0x20ab98180) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1427 +0x6e fp=0x20d1bc608 sp=0x20d1bc558 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20ac1f9c0, 0x22084f17e0, 0x20ab981c0, 0x0, 0x0, 0x2084dc120) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1038 +0x202f fp=0x20d1bcca0 sp=0x20d1bc608 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20ac1f9c0, 0x22084f17e0, 0x20ab981c0, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1bcd90 sp=0x20d1bcca0 golang.org/x/tools/go/types.(_Checker).expr(0x20b514000, 0x20ac1f9c0, 0x22084f17e0, 0x20ab981c0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1427 +0x6e fp=0x20d1bce40 sp=0x20d1bcd90 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20ac1f9c0, 0x22084f1818, 0x20a9a3b00, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1359 +0x2b1c fp=0x20d1bd4d8 sp=0x20d1bce40 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20ac1f9c0, 0x22084f1818, 0x20a9a3b00, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1bd5c8 sp=0x20d1bd4d8 golang.org/x/tools/go/types.(_Checker).expr(0x20b514000, 0x20ac1f9c0, 0x22084f1818, 0x20a9a3b00) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1427 +0x6e fp=0x20d1bd678 sp=0x20d1bd5c8 golang.org/x/tools/go/types.(_Checker).varDecl(0x20b514000, 0x2099a98b0, 0x20ad94ba0, 0x1, 0x1, 0x0, 0x0, 0x22084f1818, 0x20a9a3b00) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/decl.go:158 +0x38e fp=0x20d1bd700 sp=0x20d1bd678 golang.org/x/tools/go/types.(_Checker).objDecl(0x20b514000, 0x22084f7ae8, 0x2099a98b0, 0x0, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/decl.go:81 +0x45f fp=0x20d1bd850 sp=0x20d1bd700 golang.org/x/tools/go/types.(_Checker).ident(0x20b514000, 0x20ac1f940, 0x20a51b700, 0x0, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/typexpr.go:37 +0x366 fp=0x20d1bda60 sp=0x20d1bd850 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20ac1f940, 0x22084f14d0, 0x20a51b700, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:952 +0x1b8 fp=0x20d1be0f8 sp=0x20d1bda60 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20ac1f940, 0x22084f14d0, 0x20a51b700, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1be1e8 sp=0x20d1be0f8 golang.org/x/tools/go/types.(_Checker).expr(0x20b514000, 0x20ac1f940, 0x22084f14d0, 0x20a51b700) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1427 +0x6e fp=0x20d1be298 sp=0x20d1be1e8 golang.org/x/tools/go/types.(_Checker).varDecl(0x20b514000, 0x209f141e0, 0x20ad94d30, 0x1, 0x1, 0x0, 0x0, 0x22084f14d0, 0x20a51b700) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/decl.go:158 +0x38e fp=0x20d1be320 sp=0x20d1be298 golang.org/x/tools/go/types.(_Checker).objDecl(0x20b514000, 0x22084f7ae8, 0x209f141e0, 0x0, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/decl.go:81 +0x45f fp=0x20d1be470 sp=0x20d1be320 golang.org/x/tools/go/types.(_Checker).ident(0x20b514000, 0x20a1a2d40, 0x20a8ae700, 0x0, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/typexpr.go:37 +0x366 fp=0x20d1be680 sp=0x20d1be470 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20a1a2d40, 0x22084f14d0, 0x20a8ae700, 0x22084f7bc8, 0x20b441770, 0x22084f0000) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:952 +0x1b8 fp=0x20d1bed18 sp=0x20d1be680 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20a1a2d40, 0x22084f14d0, 0x20a8ae700, 0x22084f7bc8, 0x20b441770, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1bee08 sp=0x20d1bed18 golang.org/x/tools/go/types.(_Checker).exprWithHint(0x20b514000, 0x20a1a2d40, 0x22084f14d0, 0x20a8ae700, 0x22084f7bc8, 0x20b441770) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1449 +0x8c fp=0x20d1beeb8 sp=0x20d1bee08 golang.org/x/tools/go/types.(_Checker).exprInternal(0x20b514000, 0x20a1a2d40, 0x22084f17e0, 0x20b0a99c0, 0x0, 0x0, 0x20b441701) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1119 +0x1241 fp=0x20d1bf550 sp=0x20d1beeb8 golang.org/x/tools/go/types.(_Checker).rawExpr(0x20b514000, 0x20a1a2d40, 0x22084f17e0, 0x20b0a99c0, 0x0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:908 +0x80 fp=0x20d1bf640 sp=0x20d1bf550 golang.org/x/tools/go/types.(_Checker).expr(0x20b514000, 0x20a1a2d40, 0x22084f17e0, 0x20b0a99c0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/expr.go:1427 +0x6e fp=0x20d1bf6f0 sp=0x20d1bf640 golang.org/x/tools/go/types.(_Checker).varDecl(0x20b514000, 0x2099a94a0, 0x20ad94b18, 0x1, 0x1, 0x0, 0x0, 0x22084f17e0, 0x20b0a99c0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/decl.go:158 +0x38e fp=0x20d1bf778 sp=0x20d1bf6f0 golang.org/x/tools/go/types.(_Checker).objDecl(0x20b514000, 0x22084f7ae8, 0x2099a94a0, 0x0, 0x20d1bf980, 0x0, 0x8) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/decl.go:81 +0x45f fp=0x20d1bf8c8 sp=0x20d1bf778 golang.org/x/tools/go/types.(_Checker).packageObjects(0x20b514000, 0x20b7b6000, 0x1dd, 0x200) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/resolver.go:393 +0x21d fp=0x20d1bf9c8 sp=0x20d1bf8c8 golang.org/x/tools/go/types.(_Checker).Files(0x20b514000, 0x20dcfcd20, 0x5, 0x5, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/check.go:230 +0x10b fp=0x20d1bfa38 sp=0x20d1bf9c8 golang.org/x/tools/go/loader.typeCheckFiles(0x20ae09cc0, 0x20dcfcd20, 0x5, 0x5) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:826 +0x1f5 fp=0x20d1bfad8 sp=0x20d1bfa38 golang.org/x/tools/go/loader.(_importer).importFromSource(0x20b256e00, 0x20c322411, 0x7, 0x7, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:813 +0x228 fp=0x20d1bfbc8 sp=0x20d1bfad8 golang.org/x/tools/go/loader.(_importer).importPackage(0x20b256e00, 0x20c322411, 0x7, 0x200000065, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:769 +0x3cd fp=0x20d1bfc88 sp=0x20d1bfbc8 golang.org/x/tools/go/loader.(_importer).doImport(0x20b256e00, 0x20accea80, 0x20c322411, 0x7, 0x20dde7ec0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:739 +0xbb fp=0x20d1bfce8 sp=0x20d1bfc88 golang.org/x/tools/go/loader._importer.(golang.org/x/tools/go/loader.doImport)·fm(0x20accea80, 0x20c322411, 0x7, 0x7, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:850 +0x57 fp=0x20d1bfd28 sp=0x20d1bfce8 golang.org/x/tools/go/types.(_Checker).collectObjects(0x209640ea0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/resolver.go:182 +0x2944 fp=0x20d1c0590 sp=0x20d1bfd28 golang.org/x/tools/go/types.(_Checker).Files(0x209640ea0, 0x20bd77840, 0x4, 0x4, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/check.go:228 +0xc2 fp=0x20d1c0600 sp=0x20d1c0590 golang.org/x/tools/go/loader.typeCheckFiles(0x20ae08960, 0x20bd77840, 0x4, 0x4) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:826 +0x1f5 fp=0x20d1c06a0 sp=0x20d1c0600 golang.org/x/tools/go/loader.(_importer).importFromSource(0x20b256e00, 0x20b29c5d1, 0x5, 0x5, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:813 +0x228 fp=0x20d1c0790 sp=0x20d1c06a0 golang.org/x/tools/go/loader.(_importer).importPackage(0x20b256e00, 0x20b29c5d1, 0x5, 0x200000073, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:769 +0x3cd fp=0x20d1c0850 sp=0x20d1c0790 golang.org/x/tools/go/loader.(_importer).doImport(0x20b256e00, 0x20accea80, 0x20b29c5d1, 0x5, 0x20accca88, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:739 +0xbb fp=0x20d1c08b0 sp=0x20d1c0850 golang.org/x/tools/go/loader._importer.(golang.org/x/tools/go/loader.doImport)·fm(0x20accea80, 0x20b29c5d1, 0x5, 0x5, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:850 +0x57 fp=0x20d1c08f0 sp=0x20d1c08b0 golang.org/x/tools/go/types.(_Checker).collectObjects(0x20b9672b0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/resolver.go:182 +0x2944 fp=0x20d1c1158 sp=0x20d1c08f0 golang.org/x/tools/go/types.(_Checker).Files(0x20b9672b0, 0x20b29c570, 0x2, 0x2, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/types/check.go:228 +0xc2 fp=0x20d1c11c8 sp=0x20d1c1158 golang.org/x/tools/go/loader.typeCheckFiles(0x20ae085a0, 0x20b29c570, 0x2, 0x2) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:826 +0x1f5 fp=0x20d1c1268 sp=0x20d1c11c8 golang.org/x/tools/go/loader.(_importer).importFromSource(0x20b256e00, 0x20c0a27dc, 0x22, 0x22, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:813 +0x228 fp=0x20d1c1358 sp=0x20d1c1268 golang.org/x/tools/go/loader.(_importer).importPackage(0x20b256e00, 0x20c0a27dc, 0x22, 0x20af89140, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:769 +0x3cd fp=0x20d1c1418 sp=0x20d1c1358 golang.org/x/tools/go/loader.(_Config).Load(0x20c1b1b00, 0x20c33883c, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/go/loader/loader.go:546 +0x34d fp=0x20d1c1868 sp=0x20d1c1418 golang.org/x/tools/refactor/rename.loadProgram(0x477820, 0x208595bf0, 0x20dfa1ca0, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/refactor/rename/rename.go:331 +0x615 fp=0x20d1c1ac8 sp=0x20d1c1868 golang.org/x/tools/refactor/rename.Main(0x477820, 0x0, 0x0, 0x7fff5fbffa9f, 0x39, 0x7fff5fbffadd, 0xc, 0x0, 0x0) /Users/anacrolix/gopath/src/golang.org/x/tools/refactor/rename/rename.go:238 +0xc8f fp=0x20d1c1eb8 sp=0x20d1c1ac8 main.main() /Users/anacrolix/gopath/src/golang.org/x/tools/cmd/gorename/main.go:55 +0x36c fp=0x20d1c1f98 sp=0x20d1c1eb8 runtime.main() /Users/anacrolix/src/go/src/runtime/proc.go:86 +0x1d3 fp=0x20d1c1fe0 sp=0x20d1c1f98 runtime.goexit() /Users/anacrolix/src/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x20d1c1fe8 sp=0x20d1c1fe0

goroutine 2 [force gc (idle)]: runtime.gopark(0x39db88, 0x4773a0, 0x31fdb0, 0xf) /Users/anacrolix/src/go/src/runtime/proc.go:151 +0x108 fp=0x2084f6798 sp=0x2084f6768 runtime.goparkunlock(0x4773a0, 0x31fdb0, 0xf) /Users/anacrolix/src/go/src/runtime/proc.go:157 +0x48 fp=0x2084f67c0 sp=0x2084f6798 runtime.forcegchelper() /Users/anacrolix/src/go/src/runtime/proc.go:120 +0xce fp=0x2084f67e0 sp=0x2084f67c0 runtime.goexit() /Users/anacrolix/src/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2084f67e8 sp=0x2084f67e0 created by runtime.init·4 /Users/anacrolix/src/go/src/runtime/proc.go:108 +0x33

goroutine 4 [GC sweep wait]: runtime.gopark(0x39db88, 0x48af58, 0x318150, 0xd) /Users/anacrolix/src/go/src/runtime/proc.go:151 +0x108 fp=0x2084f9798 sp=0x2084f9768 runtime.goparkunlock(0x48af58, 0x318150, 0xd) /Users/anacrolix/src/go/src/runtime/proc.go:157 +0x48 fp=0x2084f97c0 sp=0x2084f9798 runtime.bgsweep() /Users/anacrolix/src/go/src/runtime/mgc0.go:111 +0xdd fp=0x2084f97e0 sp=0x2084f97c0 runtime.goexit() /Users/anacrolix/src/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2084f97e8 sp=0x2084f97e0 created by runtime.gc /Users/anacrolix/src/go/src/runtime/mgc.go:2121 +0xe6d

goroutine 5 [finalizer wait]: runtime.gopark(0x39db88, 0x48af50, 0x31f650, 0xe) /Users/anacrolix/src/go/src/runtime/proc.go:151 +0x108 fp=0x2084f4748 sp=0x2084f4718 runtime.goparkunlock(0x48af50, 0x31f650, 0xe) /Users/anacrolix/src/go/src/runtime/proc.go:157 +0x48 fp=0x2084f4770 sp=0x2084f4748 runtime.runfinq() /Users/anacrolix/src/go/src/runtime/malloc.go:951 +0xb7 fp=0x2084f47e0 sp=0x2084f4770 runtime.goexit() /Users/anacrolix/src/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2084f47e8 sp=0x2084f47e0 created by runtime.createfing /Users/anacrolix/src/go/src/runtime/malloc.go:931 +0x68

anacrolix commented 9 years ago

I've not seen the problem since I last reported it. I've used this go version:

go version devel +edadffa Fri Feb 20 18:31:25 2015 +0000 linux/amd64

On 8 March 2015 at 13:34, Dylan Visher notifications@github.com wrote:

Same issue is happening for me on Mac OSX 10.10.2 on a Macbook Pro. This bug is present on 1.4.2 as well as the current master branch (go version devel +cbc854a Sat Mar 7 07:09:04 2015 +0000 darwin/amd64). This is the smallest panic trace I have managed to isolate so far. I have updated all of the packages in my path "go get -u all".

runtime:greyobject: checkmarks finds unexpected unmarked object obj=0x2138e77a8, mbits->bits=0x1 mbits->bitp=0x9f runtime: found obj at (0x20bbcdb90+0x28) runtime:greyobject Span: obj=0x2138e77a8 k=0x109c73 s.start=0x2138e6000 s.limit=0x2138e8000 s.sizeclass=1 s.elemsize=8 *(obj+0) = 0x2118578c0 fatal error: checkmark found unmarked object

runtime stack: runtime.throw(0x4bbbf0, 0x1f) /Users/dylanvisher/gosource/go/src/runtime/panic.go:508 +0x98 fp=0x2087cfc10 sp=0x2087cfbf8 runtime.greyobject(0x2138e77a8, 0x20bbcdb90, 0x28, 0x2087cfd00, 0x220890e800, 0x220890e800) /Users/dylanvisher/gosource/go/src/runtime/mgc.go:440 +0x2c9 fp=0x2087cfc70 sp=0x2087cfc10 runtime.scanobject(0x20bbcdb90, 0x8f90470, 0x0, 0x220890e800, 0x220890e800) /Users/dylanvisher/gosource/go/src/runtime/mgc.go:573 +0x3f0 fp=0x2087cfd20 sp=0x2087cfc70 runtime.drainworkbuf(0x220890e800, 0x1) /Users/dylanvisher/gosource/go/src/runtime/mgc.go:650 +0x184 fp=0x2087cfd50 sp=0x2087cfd20 runtime.scanblock(0x0, 0x0, 0x0) /Users/dylanvisher/gosource/go/src/runtime/mgc.go:610 +0xe5 fp=0x2087cfd98 sp=0x2087cfd50 runtime.gchelper() /Users/dylanvisher/gosource/go/src/runtime/mgc.go:1562 +0x75 fp=0x2087cfdc8 sp=0x2087cfd98 runtime.stopm() /Users/dylanvisher/gosource/go/src/runtime/proc1.go:1052 +0x164 fp=0x2087cfdf0 sp=0x2087cfdc8 runtime.gcstopm() /Users/dylanvisher/gosource/go/src/runtime/proc1.go:1215 +0xff fp=0x2087cfe20 sp=0x2087cfdf0 runtime.schedule() /Users/dylanvisher/gosource/go/src/runtime/proc1.go:1424 +0xa4 fp=0x2087cfe50 sp=0x2087cfe20 runtime.gosched_m(0x2086fe120) /Users/dylanvisher/gosource/go/src/runtime/proc1.go:1535 +0x119 fp=0x2087cfe70 sp=0x2087cfe50 runtime.newstack() /Users/dylanvisher/gosource/go/src/runtime/stack1.go:712 +0xa3a fp=0x2087cffc8 sp=0x2087cfe70 runtime.morestack() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:311 +0x7e fp=0x2087cffd0 sp=0x2087cffc8

goroutine 1 [runnable]:golang.org/x/tools/go/pointer.(_analysis).setValueNode(0x208a116c0, 0x22089e9948, 0x212277500, 0x17800, 0x20f4d7d40) /Users/dylanvisher/go/src/golang.org/x/tools/go/pointer/gen.go:73 fp=0x2124d6e08 sp=0x2124d6e00golang.org/x/tools/go/pointer.(_analysis).genFunc(0x208a116c0, 0x20f4d7d40) /Users/dylanvisher/go/src/golang.org/x/tools/go/pointer/gen.go:1189 +0xda9 fp=0x2124d7088 sp=0x2124d6e08golang.org/x/tools/go/pointer.(_analysis).generate(0x208a116c0) /Users/dylanvisher/go/src/golang.org/x/tools/go/pointer/gen.go:1273 +0x481 fp=0x2124d7240 sp=0x2124d7088golang.org/x/tools/go/pointer.Analyze(0x20c09ec10, 0x0, 0x0, 0x0) /Users/dylanvisher/go/src/golang.org/x/tools/go/pointer/analysis.go:287 +0x1232 fp=0x2124d7970 sp=0x2124d7240golang.org/x/tools/oracle.ptrAnalysis(0x20c09ec00, 0x210f05e90) /Users/dylanvisher/go/src/golang.org/x/tools/oracle/oracle.go:478 +0x34 fp=0x2124d79a8 sp=0x2124d7970golang.org/x/tools/oracle.doCallgraph(0x20c09ec00, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/dylanvisher/go/src/golang.org/x/tools/oracle/callgraph.go:25 +0x94 fp=0x2124d7b60 sp=0x2124d79a8golang.org/x/tools/oracle.(_Oracle).query(0x20c09ec00, 0x66efa0, 0x0, 0x0, 0x0, 0x0) /Users/dylanvisher/go/src/golang.org/x/tools/oracle/oracle.go:420 +0x10b fp=0x2124d7bc8 sp=0x2124d7b60golang.org/x/tools/oracle.Query(0x0, 0x0, 0x0, 0x7fff5fbff187, 0x9, 0x0, 0x0, 0x0, 0x0, 0x675760, ...) /Users/dylanvisher/go/src/golang.org/x/tools/oracle/oracle.go:270 +0x641 fp=0x2124d7d50 sp=0x2124d7bc8 main.main() /Users/dylanvisher/go/src/golang.org/x/tools/cmd/oracle/main.go:169 +0x74c fp=0x2124d7f98 sp=0x2124d7d50 runtime.main() /Users/dylanvisher/gosource/go/src/runtime/proc.go:86 +0x1d3 fp=0x2124d7fe0 sp=0x2124d7f98 runtime.goexit() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2124d7fe8 sp=0x2124d7fe0

goroutine 2 [force gc (idle)]: runtime.gopark(0x546ed8, 0x675270, 0x4852d0, 0xf) /Users/dylanvisher/gosource/go/src/runtime/proc.go:151 +0x108 fp=0x208718798 sp=0x208718768 runtime.goparkunlock(0x675270, 0x4852d0, 0xf) /Users/dylanvisher/gosource/go/src/runtime/proc.go:157 +0x48 fp=0x2087187c0 sp=0x208718798 runtime.forcegchelper() /Users/dylanvisher/gosource/go/src/runtime/proc.go:120 +0xce fp=0x2087187e0 sp=0x2087187c0 runtime.goexit() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2087187e8 sp=0x2087187e0 created by runtime.init·4 /Users/dylanvisher/gosource/go/src/runtime/proc.go:108 +0x33

goroutine 3 [garbage collection]: runtime.systemstack_switch() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:199 fp=0x208718f48 sp=0x208718f40 runtime.gcwork(0x0) /Users/dylanvisher/gosource/go/src/runtime/malloc.go:583 +0x2b9 fp=0x208718fc0 sp=0x208718f48 runtime.backgroundgc() /Users/dylanvisher/gosource/go/src/runtime/mgc0.go:87 +0x62 fp=0x208718fe0 sp=0x208718fc0 runtime.goexit() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x208718fe8 sp=0x208718fe0 created by runtime.gogc /Users/dylanvisher/gosource/go/src/runtime/malloc.go:501 +0xe2

goroutine 4 [finalizer wait]: runtime.gopark(0x546ed8, 0x689388, 0x484a10, 0xe) /Users/dylanvisher/gosource/go/src/runtime/proc.go:151 +0x108 fp=0x208719748 sp=0x208719718 runtime.goparkunlock(0x689388, 0x484a10, 0xe) /Users/dylanvisher/gosource/go/src/runtime/proc.go:157 +0x48 fp=0x208719770 sp=0x208719748 runtime.runfinq() /Users/dylanvisher/gosource/go/src/runtime/malloc.go:959 +0xb7 fp=0x2087197e0 sp=0x208719770 runtime.goexit() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x2087197e8 sp=0x2087197e0 created by runtime.createfing /Users/dylanvisher/gosource/go/src/runtime/malloc.go:939 +0x68

goroutine 17 [GC sweep wait]: runtime.gopark(0x546ed8, 0x689390, 0x47b430, 0xd) /Users/dylanvisher/gosource/go/src/runtime/proc.go:151 +0x108 fp=0x20871bf98 sp=0x20871bf68 runtime.goparkunlock(0x689390, 0x47b430, 0xd) /Users/dylanvisher/gosource/go/src/runtime/proc.go:157 +0x48 fp=0x20871bfc0 sp=0x20871bf98 runtime.bgsweep() /Users/dylanvisher/gosource/go/src/runtime/mgc0.go:111 +0xdd fp=0x20871bfe0 sp=0x20871bfc0 runtime.goexit() /Users/dylanvisher/gosource/go/src/runtime/asm_amd64.s:2430 +0x1 fp=0x20871bfe8 sp=0x20871bfe0 created by runtime.gc /Users/dylanvisher/gosource/go/src/runtime/mgc.go:2131 +0xe6b

— Reply to this email directly or view it on GitHub https://github.com/golang/go/issues/9951#issuecomment-77729012.

anacrolix commented 9 years ago

Fantastic work, thank you.