Skip to content

runtime: segfault in tests #5422

@alberts

Description

@alberts
What steps will reproduce the problem?

./run.bash --no-rebuild

What do you see instead?

# GOMAXPROCS=2 runtime -cpu=1,2,4
SIGSEGV: segmentation violation
PC=0x4065cf

selunlock(0xc2009a4cc0)
    /build/go.tip/go/src/pkg/runtime/chan.c:817 +0x3f
park0(0xc20099bd00)
    /build/go.tip/go/src/pkg/runtime/proc.c:1186 +0x7a
runtime.mcall()
    /build/go.tip/go/src/pkg/runtime/asm_amd64.s:195 +0x49

goroutine 1 [runnable]:
runtime.park(0x40d1b0, 0xc2007e84d0, 0x75f92a)
    /build/go.tip/go/src/pkg/runtime/proc.c:1175 +0x64
runtime.chanrecv(0x573a20, 0xc2007e8480, 0x7f3f426f4ce0, 0x0, 0x0, ...)
    /build/go.tip/go/src/pkg/runtime/chan.c:366 +0x566
runtime.chanrecv1()
    /build/go.tip/go/src/pkg/runtime/chan.c:458 +0x38
testing.RunTests(0x650568, 0x760280, 0x31, 0x31, 0x1, ...)
    /build/go.tip/go/src/pkg/testing/testing.go:434 +0x88e
testing.Main(0x650568, 0x760280, 0x31, 0x31, 0x762060, ...)
    /build/go.tip/go/src/pkg/testing/testing.go:365 +0x8a
main.main()
    runtime/_test/_testmain.go:319 +0x9a
runtime.main()
    /build/go.tip/go/src/pkg/runtime/proc.c:182 +0x92
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223

goroutine 2 [syscall]:
runtime.entersyscallblock()
    /build/go.tip/go/src/pkg/runtime/proc.c:1333 +0x16e
runtime.MHeap_Scavenger()
    /build/go.tip/go/src/pkg/runtime/mheap.c:454 +0xee
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime.main
    /build/go.tip/go/src/pkg/runtime/proc.c:165

goroutine 3 [syscall]:
runtime.entersyscallblock()
    /build/go.tip/go/src/pkg/runtime/proc.c:1333 +0x16e
timerproc()
    /build/go.tip/go/src/pkg/runtime/ztime_linux_amd64.c:195 +0xbc
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by addtimer
    /build/go.tip/go/src/pkg/runtime/ztime_linux_amd64.c:82

goroutine 80122 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x0)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 73 [finalizer wait]:
runtime.park(0x0, 0x0, 0x760af1)
    /build/go.tip/go/src/pkg/runtime/proc.c:1175 +0x64
runfinq()
    /build/go.tip/go/src/pkg/runtime/mgc0.c:2182 +0x6d
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime.gc
    /build/go.tip/go/src/pkg/runtime/mgc0.c:1886

goroutine 80139 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x11)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80135 [running]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0xd)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80131 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x9)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80140 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x12)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80123 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x1)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80125 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x3)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80142 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x14)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80144 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x16)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80136 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0xe)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80137 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0xf)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80126 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x4)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80127 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x5)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80145 [runnable]:
runtime.park(0x40d1b0, 0xc2007bc350, 0x7f3f4227df78)
    /build/go.tip/go/src/pkg/runtime/proc.c:1175 +0x64
runtime.chansend(0x5739c0, 0xc2007bc280, 0x7f3f4227df78, 0x0, 0x47d279, ...)
    /build/go.tip/go/src/pkg/runtime/chan.c:261 +0x1d7
runtime.chansend1()
    /build/go.tip/go/src/pkg/runtime/chan.c:450 +0x4c
runtime_test.func·003()
    /build/go.tip/go/src/pkg/runtime/chan_test.go:93 +0xb9
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:98 +0x23d

goroutine 80129 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x7)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80138 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x10)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80143 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x15)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80130 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x8)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80121 [runnable]:
runtime.park(0x40d1b0, 0xc2007bc550, 0x0)
    /build/go.tip/go/src/pkg/runtime/proc.c:1175 +0x64
runtime.chanrecv(0x5739c0, 0xc2007bc500, 0x7f3f4228be88, 0x0, 0x7f3f4228be90, ...)
    /build/go.tip/go/src/pkg/runtime/chan.c:397 +0x234
runtime.chanrecv2()
    /build/go.tip/go/src/pkg/runtime/chan.c:470 +0x45
runtime_test.TestMultiConsumer(0xc200781510)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:103 +0x27e
testing.tRunner(0xc200781510, 0x7602e0)
    /build/go.tip/go/src/pkg/testing/testing.go:353 +0x8a
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by testing.RunTests
    /build/go.tip/go/src/pkg/testing/testing.go:433 +0x86b

goroutine 80124 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x2)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80128 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x6)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80133 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0xb)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80132 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0xa)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80141 [running]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0x13)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:76 +0x55
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab

goroutine 80134 [runnable]:
runtime.gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1201 +0x25
runtime.Gosched()
    /build/go.tip/go/src/pkg/runtime/proc.c:1621 +0x18
runtime_test.func·002(0xc)
    /build/go.tip/go/src/pkg/runtime/chan_test.go:79 +0xb0
runtime.goexit()
    /build/go.tip/go/src/pkg/runtime/proc.c:1223
created by runtime_test.TestMultiConsumer
    /build/go.tip/go/src/pkg/runtime/chan_test.go:84 +0x1ab
rax     0x0
rbx     0x0
rcx     0x0
rdx     0xc2007e8dc0
rdi     0x419340
rsi     0xc2003bd600
rbp     0xc2007e8d80
rsp     0xc20094cf58
r8      0xffffffff
r9      0xc2007e8d80
r10     0x0
r11     0x202
r12     0x80
r13     0x4f
r14     0x2aa89543b5100c
r15     0x626210
rip     0x4065cf
rflags  0x10202
cs      0x33
fs      0x0
gs      0x0
FAIL    runtime 8.486s

Which compiler are you using (5g, 6g, 8g, gccgo)?

6g

Which operating system are you using?

linux

Which version are you using?  (run 'go version')

go version devel +17c26220ac96 Mon May 06 10:15:16 2013 -0700 linux/amd64

Please provide any additional information below.

first time I've seen this one...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions