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/race: windows race out of memory allocating heap arena map #28497

Open
bradfitz opened this Issue Oct 31, 2018 · 0 comments

Comments

Projects
None yet
2 participants
@bradfitz
Member

bradfitz commented Oct 31, 2018

https://build.golang.org/log/48dc600dd822d082a10c753b50f3123d8cb2e86d

...
FAIL	runtime/race	46.500s
==996==ERROR: ThreadSanitizer failed to allocate 0x000004000000 (67108864) bytes at 0x04008c000000 (error code: 1455)
runtime: newstack sp=0x588fe50 stack=[0xc002168000, 0xc00216c000]
	morebuf={pc:0x407319 sp:0x588fe60 lr:0x0}
	sched={pc:0x474370 sp:0x588fe58 lr:0x0 ctxt:0x0}
runtime: gp=0xc000026c00, goid=27, gp->status=0x2
 runtime: split stack overflow: 0x588fe50 < 0xc002168000
fatal error: runtime: split stack overflow

runtime stack:
runtime.throw(0x67ddba, 0x1d)
	C:/workdir/go/src/runtime/panic.go:608 +0x79
runtime.newstack()
	C:/workdir/go/src/runtime/stack.go:995 +0x86f
runtime.morestack()
	C:/workdir/go/src/runtime/asm_amd64.s:429 +0x97

goroutine 27 [running]:
runtime.sigpanic()
	C:/workdir/go/src/runtime/signal_windows.go:201 +0x170 fp=0x588fe60 sp=0x588fe58 pc=0x474370
created by testing.(*T).Run
	C:/workdir/go/src/testing/testing.go:901 +0x686

goroutine 1 [chan receive]:
testing.(*T).Run(0xc0000b6000, 0x679341, 0xf, 0x683df8, 0xc000075c01)
	C:/workdir/go/src/testing/testing.go:902 +0x6be
testing.runTests.func1(0xc0000b6000)
	C:/workdir/go/src/testing/testing.go:1142 +0xb0
testing.tRunner(0xc0000b6000, 0xc000075dd0)
	C:/workdir/go/src/testing/testing.go:850 +0x16a
testing.runTests(0xc000048460, 0x7f6e20, 0x9, 0x9, 0x80)
	C:/workdir/go/src/testing/testing.go:1140 +0x4f3
testing.(*M).Run(0xc0000a6000, 0x0)
	C:/workdir/go/src/testing/testing.go:1057 +0x2f7
main.main()
	_testmain.go:64 +0x229

goroutine 6 [select (no cases)]:
runtime/trace_test.TestTraceSymbolize.func1()
	C:/workdir/go/src/runtime/trace/trace_stack_test.go:41 +0x37
created by runtime/trace_test.TestTraceSymbolize
	C:/workdir/go/src/runtime/trace/trace_stack_test.go:40 +0x137

goroutine 7 [chan send (nil chan)]:
runtime/trace_test.TestTraceSymbolize.func2()
	C:/workdir/go/src/runtime/trace/trace_stack_test.go:45 +0x52
created by runtime/trace_test.TestTraceSymbolize
	C:/workdir/go/src/runtime/trace/trace_stack_test.go:43 +0x14f

goroutine 8 [chan receive (nil chan)]:
runtime/trace_test.TestTraceSymbolize.func3()
	C:/workdir/go/src/runtime/trace/trace_stack_test.go:49 +0x3e
created by runtime/trace_test.TestTraceSymbolize
	C:/workdir/go/src/runtime/trace/trace_stack_test.go:47 +0x167

goroutine 130 [select (no cases)]:
runtime/trace_test.TestTraceStress.func9()
	C:/workdir/go/src/runtime/trace/trace_test.go:307 +0x3c
created by runtime/trace_test.TestTraceStress
	C:/workdir/go/src/runtime/trace/trace_test.go:305 +0x717
FAIL	runtime/trace	51.330s
ok  	sort	2.255s
ok  	strconv	8.116s
ok  	strings	46.369s
--- FAIL: TestMutexMisuse (0.16s)
    mutex_test.go:176: Mutex.Unlock: did not find failure with message about unlocked lock: exit status 2
        fatal error: out of memory allocating heap arena map
        
        runtime stack:
        runtime.throw(0x675b79, 0x27)
        	C:/workdir/go/src/runtime/panic.go:608 +0x79 fp=0x22fae0 sp=0x22fab0 pc=0x45f499
        runtime.(*mheap).sysAlloc(0x7fd740, 0x2000, 0x48, 0x48)
        	C:/workdir/go/src/runtime/malloc.go:627 +0x4d7 fp=0x22fb70 sp=0x22fae0 pc=0x43c247
        runtime.(*mheap).grow(0x7fd740, 0x1, 0x0)
        	C:/workdir/go/src/runtime/mheap.go:942 +0x49 fp=0x22fbc8 sp=0x22fb70 pc=0x454c09
        runtime.(*mheap).allocSpanLocked(0x7fd740, 0x1, 0x816fe8, 0x560010000a7)
        	C:/workdir/go/src/runtime/mheap.go:866 +0x3c8 fp=0x22fc10 sp=0x22fbc8 pc=0x454ac8
        runtime.(*mheap).alloc_m(0x7fd740, 0x1, 0x23, 0x22fd90)
        	C:/workdir/go/src/runtime/mheap.go:710 +0x100 fp=0x22fc50 sp=0x22fc10 pc=0x454280
        runtime.(*mheap).alloc.func1()
        	C:/workdir/go/src/runtime/mheap.go:779 +0x53 fp=0x22fc88 sp=0x22fc50 pc=0x489db3
        runtime.(*mheap).alloc(0x7fd740, 0x1, 0x10023, 0x22fd10)
        	C:/workdir/go/src/runtime/mheap.go:778 +0x91 fp=0x22fcd8 sp=0x22fc88 pc=0x4544d1
        runtime.(*mcentral).grow(0x7fe540, 0x0)
        	C:/workdir/go/src/runtime/mcentral.go:256 +0x9a fp=0x22fd20 sp=0x22fcd8 pc=0x447eba
        runtime.(*mcentral).cacheSpan(0x7fe540, 0x2a60000)
        	C:/workdir/go/src/runtime/mcentral.go:106 +0x2b4 fp=0x22fd68 sp=0x22fd20 pc=0x4479d4
        runtime.(*mcache).refill(0x2a60000, 0x23)
        	C:/workdir/go/src/runtime/mcache.go:135 +0x8d fp=0x22fd88 sp=0x22fd68 pc=0x44749d
        runtime.(*mcache).nextFree(0x2a60000, 0x489223, 0x4000, 0x0, 0x817040)
        	C:/workdir/go/src/runtime/malloc.go:749 +0x8f fp=0x22fdc0 sp=0x22fd88 pc=0x43c3df
        runtime.mallocgc(0x100, 0x63de60, 0x2a60001, 0x2a60000)
        	C:/workdir/go/src/runtime/malloc.go:902 +0x7b8 fp=0x22fe60 sp=0x22fdc0 pc=0x43cd48
        runtime.newobject(0x63de60, 0x7f94a0)
        	C:/workdir/go/src/runtime/malloc.go:1031 +0x3f fp=0x22fe90 sp=0x22fe60 pc=0x43d15f
        runtime.mcommoninit(0x7f94a0)
        	C:/workdir/go/src/runtime/proc.go:635 +0x126 fp=0x22fec8 sp=0x22fe90 pc=0x462216
        runtime.schedinit()
        	C:/workdir/go/src/runtime/proc.go:541 +0xb8 fp=0x22ff30 sp=0x22fec8 pc=0x461ea8
        runtime.rt0_go(0x22ff60, 0x773f59cd, 0x22ff60, 0x0, 0x773f59cd, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        	C:/workdir/go/src/runtime/asm_amd64.s:195 +0x126 fp=0x22ff38 sp=0x22ff30 pc=0x48bc86
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment