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

runtime: greyobject: checkmarks finds unexpected unmarked object #9884

Closed
bradfitz opened this issue Feb 15, 2015 · 2 comments
Closed

runtime: greyobject: checkmarks finds unexpected unmarked object #9884

bradfitz opened this issue Feb 15, 2015 · 2 comments
Milestone

Comments

@bradfitz
Copy link
Contributor

I hadn't seen this in a while, but it's back:

darwin-amd64-race at 788f78a failed with:
http://build.golang.org/log/10bb1e5911b781ed88d7323058747a040ab1ecef

ok      text/template   0.275s
ok      text/template/parse 0.113s
runtime:greyobject: checkmarks finds unexpected unmarked object obj=0xc20803c000
runtime: found obj at *(0xc208000120+0x28)
runtime:greyobject Span: base=0xc208000120 kb=0x6104000 sb.start*_PageSize=0xc208000000 sb.limit=0xc208001f80 sb.sizeclass=18 sb.elemsize=288
 *(base+0) = 0xc208033000
 *(base+8) = 0xc208034000
 *(base+16) = 0xc208033280
 *(base+24) = 0xffffffffffffffff
 *(base+32) = 0x0
 *(base+40) = 0xc20803c000
 *(base+48) = 0xc208033b88
 *(base+56) = 0x28d5c
 *(base+64) = 0xc208000120
 *(base+72) = 0x0
 *(base+80) = 0x0
 *(base+88) = 0x0
 *(base+96) = 0x1
 *(base+104) = 0x0
 *(base+112) = 0xd10b5
 *(base+120) = 0x0
 *(base+128) = 0x4
 *(base+136) = 0x1
 *(base+144) = 0x13c2df1b1cf57dd7
 *(base+152) = 0x2cdbf0
 *(base+160) = 0xc
 *(base+168) = 0x0
 *(base+176) = 0x101000000
 *(base+184) = 0x0
 *(base+192) = 0x0
 *(base+200) = 0x0
 *(base+208) = 0x0
 *(base+216) = 0x0
 *(base+224) = 0x0
 *(base+232) = 0x0
 *(base+240) = 0x0
 *(base+248) = 0x0
 *(base+256) = 0x53c45
 *(base+264) = 0x28890
 *(base+272) = 0xedc008
 *(base+280) = 0xc20803d6c0
runtime:greyobject Span: obj=0xc20803c000 k=0x610401e s.start=0xc20803c000 s.limit=0xc20803e000 s.sizeclass=5 s.elemsize=64
 *(obj+0) = 0x8
 *(obj+8) = 0xc208033fa0
 *(obj+16) = 0x28950
 *(obj+24) = 0x33fc28
 *(obj+32) = 0x0
fatal error: checkmark found unmarked object

runtime stack:
runtime.throw(0x2efd90, 0x1f)
    /usr/local/go/src/runtime/panic.go:511 +0xa0 fp=0xb0103b50 sp=0xb0103b38
runtime.greyobject(0xc20803c000, 0xc208000120, 0x28, 0xc207ffc3ff, 0x0, 0xea2540, 0xea2540)
    /usr/local/go/src/runtime/mgc.go:307 +0x3b1 fp=0xb0103bf0 sp=0xb0103b50
runtime.scanobject(0xc208000120, 0x2ffee0, 0x0, 0xea2540, 0xea2540)
    /usr/local/go/src/runtime/mgc.go:416 +0x349 fp=0xb0103ca0 sp=0xb0103bf0
runtime.gcDrain(0xea2540)
    /usr/local/go/src/runtime/mgc.go:489 +0x153 fp=0xb0103cd0 sp=0xb0103ca0
runtime.gc(0x13c2df1b1f725be5, 0x400000001)
    /usr/local/go/src/runtime/mgc.go:1491 +0x313 fp=0xb0103e18 sp=0xb0103cd0
runtime.gc_m(0x13c2df1b1f725be5, 0xc2082a4701)
    /usr/local/go/src/runtime/mgc.go:1291 +0x8a fp=0xb0103e38 sp=0xb0103e18
runtime.gccheckmark_m(0x13c2df1b1f725be5, 0xc2082a4701)
    /usr/local/go/src/runtime/mgc.go:1329 +0x74 fp=0xb0103e50 sp=0xb0103e38
runtime.func·007()
    /usr/local/go/src/runtime/malloc.go:439 +0x32 fp=0xb0103e68 sp=0xb0103e50
runtime.systemstack(0xc208012000)
    /usr/local/go/src/runtime/asm_amd64.s:249 +0x79 fp=0xb0103e70 sp=0xb0103e68
runtime.mstart()
    /usr/local/go/src/runtime/proc1.go:667 fp=0xb0103e78 sp=0xb0103e70

goroutine 38 [garbage collection]:
runtime.systemstack_switch()
    /usr/local/go/src/runtime/asm_amd64.s:203 fp=0xc208019718 sp=0xc208019710
runtime.gcwork(0xc200000002)
    /usr/local/go/src/runtime/malloc.go:440 +0x2ff fp=0xc208019790 sp=0xc208019718
runtime.gogc(0x2)
    /usr/local/go/src/runtime/malloc.go:350 +0x129 fp=0xc2080197b0 sp=0xc208019790
runtime.GC()
    /usr/local/go/src/runtime/malloc.go:582 +0x26 fp=0xc2080197c0 sp=0xc2080197b0
time_test.func·007(0xc2082a2da0)
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:70 +0x44 fp=0xc2080197d8 sp=0xc2080197c0
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc2080197e0 sp=0xc2080197d8
created by time_test.TestAfterStress
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:76 +0x74

goroutine 1 [chan receive]:
runtime.gopark(0x33fde8, 0xc208011978, 0x2cdbf0, 0xc, 0xe8c017)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208033bb8 sp=0xc208033b88
runtime.goparkunlock(0xc208011978, 0x2cdbf0, 0xc, 0xc208020417)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208033be8 sp=0xc208033bb8
runtime.chanrecv(0x225a00, 0xc208011920, 0xc208033dc0, 0xc208039c01, 0x80000)
    /usr/local/go/src/runtime/chan.go:417 +0x420 fp=0xc208033c70 sp=0xc208033be8
runtime.chanrecv1(0x225a00, 0xc208011920, 0xc208033dc0)
    /usr/local/go/src/runtime/chan.go:318 +0x2b fp=0xc208033ca0 sp=0xc208033c70
testing.RunTests(0x33fa20, 0x4096c0, 0x45, 0x45, 0x1)
    /usr/local/go/src/testing/testing.go:557 +0xcdb fp=0xc208033e48 sp=0xc208033ca0
testing.(*M).Run(0xc20807c5a0, 0x406e80)
    /usr/local/go/src/testing/testing.go:486 +0xee fp=0xc208033ed8 sp=0xc208033e48
main.main()
    time/_test/_testmain.go:234 +0x28d fp=0xc208033fa0 sp=0xc208033ed8
runtime.main()
    /usr/local/go/src/runtime/proc.go:88 +0x1d2 fp=0xc208033fe0 sp=0xc208033fa0
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc208033fe8 sp=0xc208033fe0

goroutine 2 [force gc (idle)]:
runtime.gopark(0x33fde8, 0x40b6e0, 0x2cf430, 0xf, 0xc208000414)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801a788 sp=0xc20801a758
runtime.goparkunlock(0x40b6e0, 0x2cf430, 0xf, 0xc208000114)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801a7b8 sp=0xc20801a788
runtime.forcegchelper()
    /usr/local/go/src/runtime/proc.go:121 +0xc2 fp=0xc20801a7e0 sp=0xc20801a7b8
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801a7e8 sp=0xc20801a7e0
created by runtime.init·4
    /usr/local/go/src/runtime/proc.go:110 +0x33

goroutine 3 [finalizer wait]:
runtime.gopark(0x33fde8, 0x42f300, 0x2cecf0, 0xe, 0xc208000714)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801af48 sp=0xc20801af18
runtime.goparkunlock(0x42f300, 0x2cecf0, 0xe, 0x14)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801af78 sp=0xc20801af48
runtime.runfinq()
    /usr/local/go/src/runtime/mfinal.go:132 +0xae fp=0xc20801afe0 sp=0xc20801af78
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801afe8 sp=0xc20801afe0
created by runtime.createfing
    /usr/local/go/src/runtime/mfinal.go:113 +0x68

goroutine 37 [chan receive]:
runtime.gopark(0x33fde8, 0xc2080119d8, 0x2cdbf0, 0xc, 0xe8c017)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801b668 sp=0xc20801b638
runtime.goparkunlock(0xc2080119d8, 0x2cdbf0, 0xc, 0x94d17)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801b698 sp=0xc20801b668
runtime.chanrecv(0x225940, 0xc208011980, 0x0, 0xc20801b701, 0xa0000)
    /usr/local/go/src/runtime/chan.go:474 +0x73d fp=0xc20801b720 sp=0xc20801b698
runtime.chanrecv1(0x225940, 0xc208011980, 0x0)
    /usr/local/go/src/runtime/chan.go:318 +0x2b fp=0xc20801b750 sp=0xc20801b720
time_test.TestAfterStress(0xc20807ef30)
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:79 +0xcc fp=0xc20801b788 sp=0xc20801b750
testing.tRunner(0xc20807ef30, 0x4098a0)
    /usr/local/go/src/testing/testing.go:448 +0xfc fp=0xc20801b7d0 sp=0xc20801b788
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801b7d8 sp=0xc20801b7d0
created by testing.RunTests
    /usr/local/go/src/testing/testing.go:556 +0xc85

goroutine 26 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801bf28 sp=0xc20801bef8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803da13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801bf58 sp=0xc20801bf28
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc20801bf98 sp=0xc20801bf58
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc20801bfe0 sp=0xc20801bf98
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801bfe8 sp=0xc20801bfe0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 24 [runnable]:
runtime.notetsleepg(0x40b9d8, 0x1, 0x0)
    /usr/local/go/src/runtime/lock_sema.go:262 +0x97 fp=0xc20801c760 sp=0xc20801c720
runtime.timerproc()
    /usr/local/go/src/runtime/time.go:209 +0xe1 fp=0xc20801c7e0 sp=0xc20801c760
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801c7e8 sp=0xc20801c7e0
created by runtime.addtimerLocked
    /usr/local/go/src/runtime/time.go:116 +0x1c4

goroutine 27 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801cf28 sp=0xc20801cef8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803da13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801cf58 sp=0xc20801cf28
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc20801cf98 sp=0xc20801cf58
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc20801cfe0 sp=0xc20801cf98
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801cfe8 sp=0xc20801cfe0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 28 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801d728 sp=0xc20801d6f8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803db13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801d758 sp=0xc20801d728
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc20801d798 sp=0xc20801d758
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc20801d7e0 sp=0xc20801d798
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801d7e8 sp=0xc20801d7e0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 29 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc20801df28 sp=0xc20801def8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803db13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc20801df58 sp=0xc20801df28
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc20801df98 sp=0xc20801df58
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc20801dfe0 sp=0xc20801df98
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc20801dfe8 sp=0xc20801dfe0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 30 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208016728 sp=0xc2080166f8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803dc13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208016758 sp=0xc208016728
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc208016798 sp=0xc208016758
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc2080167e0 sp=0xc208016798
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc2080167e8 sp=0xc2080167e0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 31 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208016f28 sp=0xc208016ef8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803dd13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208016f58 sp=0xc208016f28
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc208016f98 sp=0xc208016f58
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc208016fe0 sp=0xc208016f98
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc208016fe8 sp=0xc208016fe0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 32 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208017728 sp=0xc2080176f8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803dd13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208017758 sp=0xc208017728
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc208017798 sp=0xc208017758
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc2080177e0 sp=0xc208017798
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc2080177e8 sp=0xc2080177e0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 33 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208017f28 sp=0xc208017ef8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803de13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208017f58 sp=0xc208017f28
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc208017f98 sp=0xc208017f58
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc208017fe0 sp=0xc208017f98
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc208017fe8 sp=0xc208017fe0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 34 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208018728 sp=0xc2080186f8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803de13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208018758 sp=0xc208018728
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc208018798 sp=0xc208018758
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc2080187e0 sp=0xc208018798
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc2080187e8 sp=0xc2080187e0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76

goroutine 35 [sleep]:
runtime.gopark(0x33fde8, 0x40b9c0, 0x2c35f0, 0x5, 0x13)
    /usr/local/go/src/runtime/proc.go:153 +0x11c fp=0xc208018f28 sp=0xc208018ef8
runtime.goparkunlock(0x40b9c0, 0x2c35f0, 0x5, 0xc20803df13)
    /usr/local/go/src/runtime/proc.go:159 +0x51 fp=0xc208018f58 sp=0xc208018f28
time.Sleep(0x3b9aca00)
    /usr/local/go/src/runtime/time.go:59 +0x10e fp=0xc208018f98 sp=0xc208018f58
time_test.func·006()
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep_test.go:56 +0xbe fp=0xc208018fe0 sp=0xc208018f98
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0xc208018fe8 sp=0xc208018fe0
created by time.goFunc
    /Users/builder/workspace/darwin-amd64-race-cheney-788f78ad08a4/go/src/time/sleep.go:129 +0x76
FAIL    time    0.598s
ok      unicode 0.046s
ok      unicode/utf16   0.087s
ok      unicode/utf8    0.056s
?       unsafe  [no test files]
Build complete, duration 3m10.053704625s. Result: error: exit status 1

/cc @aclements

@bradfitz bradfitz added this to the Go1.5 milestone Feb 15, 2015
@DanielMorsing
Copy link
Contributor

This looks like it's a g struct. The offending field is the _defer pointer.

@aclements
Copy link
Member

This also showed up on windows-amd64-race at 37a6174:
http://build.golang.org/log/0dff860f943ecdc5d1efd040d855cb7643537e30
and freebsd-amd64-gce101 at 7aa6875:
http://build.golang.org/log/d8df33f7ab2afc3b2cedf87153334433043b2206
and possibly others. So it looks independent of OS, arch, and build flavor.

My hunch is that this is related to a15818f, which added workbuf caching.

@bradfitz bradfitz removed the builder label Feb 27, 2015
@RLH RLH closed this as completed in 41dbcc1 Mar 17, 2015
@golang golang locked and limited conversation to collaborators Jun 25, 2016
@rsc rsc unassigned RLH Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants