Skip to content

runtime: unexpected SIGSEGV during GC execution #10602

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

Closed
minux opened this issue Apr 29, 2015 · 1 comment
Closed

runtime: unexpected SIGSEGV during GC execution #10602

minux opened this issue Apr 29, 2015 · 1 comment
Milestone

Comments

@minux
Copy link
Member

minux commented Apr 29, 2015

http://build.golang.org/log/891d654a090e45933463a5645c795a29b53dd9c1

##### GOMAXPROCS=2 runtime -cpu=1,2,4
2015/04/29 02:51:10 Failed: exit status 1
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x0 pc=0x1e4ec]

runtime stack:
runtime.throw(0x23f638, 0x2a)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/panic.go:543 +0x78 fp=0x1052dddc sp=0x1052ddd0
runtime.sigpanic()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/sigpanic_unix.go:12 +0x4c fp=0x1052de08 sp=0x1052dddc
runtime.lfstackpop(0x30d138, 0x4)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/lfstack.go:35 +0x84 fp=0x1052de34 sp=0x1052de0c
runtime.getempty(0x4cf628a, 0x0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcwork.go:271 +0x64 fp=0x1052de4c sp=0x1052de34
runtime.getpartialorempty(0x2a, 0x103098d1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcwork.go:317 +0x78 fp=0x1052de5c sp=0x1052de4c
runtime.(*gcWork).put(0x1052dfb8, 0x114b3970)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcwork.go:83 +0x50 fp=0x1052de6c sp=0x1052de5c
runtime.greyobject(0x114b3970, 0x10567000, 0xab4, 0x103098d1, 0x0, 0x76dd51bc, 0x1052dfb8)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcmark.go:716 +0x31c fp=0x1052dec8 sp=0x1052de6c
runtime.scanobject(0x10567000, 0x1000, 0x0, 0x1052dfb8)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcmark.go:639 +0x370 fp=0x1052df40 sp=0x1052dec8
runtime.gcDrain(0x1052dfb8, 0xffffffff, 0xffffffff)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcmark.go:450 +0x19c fp=0x1052df68 sp=0x1052df40
runtime.gcMark(0x57b33685, 0x1d4e8)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1184 +0x1ec fp=0x1052dfcc sp=0x1052df68
runtime.gc.func2()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:877 +0x44 fp=0x1052dfe4 sp=0x1052dfcc
runtime.systemstack(0x10517400)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:239 +0x80 fp=0x1052dfe8 sp=0x1052dfe4
runtime.mstart()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc1.go:686 fp=0x1052dfe8 sp=0x1052dfe8

goroutine 252269 [garbage collection]:
runtime.systemstack_switch()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:187 +0x4 fp=0x11496dc8 sp=0x11496dc4
runtime.gc(0x2)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:910 +0x4a4 fp=0x11496f80 sp=0x11496dc8
runtime.startGC(0x2)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:681 +0xd4 fp=0x11496f90 sp=0x11496f80
runtime.GC()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:656 +0x24 fp=0x11496f98 sp=0x11496f90
runtime_test.TestPreemptionGC(0x111580c0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:247 +0xfc fp=0x11496fc0 sp=0x11496f98
testing.tRunner(0x111580c0, 0x30bd58)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/testing/testing.go:452 +0xb0 fp=0x11496fe4 sp=0x11496fc0
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x11496fe4 sp=0x11496fe4
created by testing.RunTests
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/testing/testing.go:560 +0x730

goroutine 1 [chan receive, locked to thread]:
runtime.gopark(0x268c94, 0x113320b0, 0x217348, 0xc, 0x17, 0x3)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x1112558c sp=0x11125578
runtime.goparkunlock(0x113320b0, 0x217348, 0xc, 0x17, 0x3)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:191 +0x4c fp=0x111255a8 sp=0x1112558c
runtime.chanrecv(0x1b2400, 0x11332080, 0x111256c0, 0x11154e01, 0x90000)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/chan.go:434 +0x4c0 fp=0x11125614 sp=0x111255a8
runtime.chanrecv1(0x1b2400, 0x11332080, 0x111256c0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/chan.go:335 +0x28 fp=0x1112562c sp=0x11125614
testing.RunTests(0x268a6c, 0x30b800, 0x96, 0x96, 0x200001)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/testing/testing.go:561 +0x75c fp=0x11125718 sp=0x1112562c
testing.(*M).Run(0x10d7e000, 0x10d7e000)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/testing/testing.go:490 +0x74 fp=0x11125760 sp=0x11125718
main.main()
    runtime/_test/_testmain.go:836 +0x170 fp=0x111257bc sp=0x11125760
runtime.main()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:111 +0x2c0 fp=0x111257e4 sp=0x111257bc
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x111257e4 sp=0x111257e4

goroutine 2 [force gc (idle), 4 minutes]:
runtime.gopark(0x268c94, 0x30ce38, 0x217930, 0xf, 0x14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x1051c7b8 sp=0x1051c7a4
runtime.goparkunlock(0x30ce38, 0x217930, 0xf, 0x14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:191 +0x4c fp=0x1051c7d4 sp=0x1051c7b8
runtime.forcegchelper()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:152 +0xb0 fp=0x1051c7ec sp=0x1051c7d4
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x1051c7ec sp=0x1051c7ec
created by runtime.init.4
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:141 +0x2c

goroutine 17 [GC sweep wait]:
runtime.gopark(0x268c94, 0x30cf48, 0x216190, 0xd, 0x65a14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x105187ac sp=0x10518798
runtime.goparkunlock(0x30cf48, 0x216190, 0xd, 0x14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:191 +0x4c fp=0x105187c8 sp=0x105187ac
runtime.bgsweep(0x1054c000)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgcsweep.go:67 +0x144 fp=0x105187e4 sp=0x105187c8
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x105187e4 sp=0x105187e4
created by runtime.gcenable
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:157 +0x54

goroutine 18 [finalizer wait]:
runtime.gopark(0x268c94, 0x320164, 0x217750, 0xe, 0x14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x11123798 sp=0x11123784
runtime.goparkunlock(0x320164, 0x217750, 0xe, 0x14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:191 +0x4c fp=0x111237b4 sp=0x11123798
runtime.runfinq()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mfinal.go:149 +0xac fp=0x111237ec sp=0x111237b4
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x111237ec sp=0x111237ec
created by runtime.createfing
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mfinal.go:130 +0x64

goroutine 19 [Concurrent GC wait]:
runtime.gopark(0x268c94, 0x30cf28, 0x21cb28, 0x12, 0x10519614, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x105197b8 sp=0x105197a4
runtime.goparkunlock(0x30cf28, 0x21cb28, 0x12, 0x14, 0x1)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:191 +0x4c fp=0x105197d4 sp=0x105197b8
runtime.backgroundgc()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:722 +0x80 fp=0x105197ec sp=0x105197d4
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x105197ec sp=0x105197ec
created by runtime.startGC
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:692 +0x130

goroutine 20 [mark worker (idle)]:
runtime.gopark(0x268bd8, 0x10e34000, 0x2202a8, 0x12, 0x14, 0x0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x10519fb4 sp=0x10519fa0
runtime.gcBgMarkWorker(0x10516a00)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1064 +0xe0 fp=0x10519fe4 sp=0x10519fb4
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x10519fe4 sp=0x10519fe4
created by runtime.gcBgMarkStartWorkers
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1012 +0x8c

goroutine 22 [syscall]:
runtime.notetsleepg(0x30cff4, 0x9effbe42, 0x0, 0x0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/lock_futex.go:198 +0x54 fp=0x1051af8c sp=0x1051af74
runtime.timerproc()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/time.go:209 +0x124 fp=0x1051afec sp=0x1051af8c
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x1051afec sp=0x1051afec
created by runtime.addtimerLocked
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/time.go:116 +0x234

goroutine 2598 [syscall, 3 minutes]:
runtime_test.TestFutexsleep.func1(0x0, 0x914f0000, 0x4e94, 0x224aa8, 0x14, 0x1054c080)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/futex_test.go:47 +0x30 fp=0x11120fd4 sp=0x11120fa8
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x11120fd4 sp=0x11120fd4
created by runtime_test.TestFutexsleep
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/futex_test.go:51 +0x1f8

goroutine 252340 [runnable]:
runtime_test.glob.func1(0x10550110)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:196 fp=0x11494fd8 sp=0x11494fd8
runtime_test.TestPreemptionGC.func1(0x10550110)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:241 +0x40 fp=0x11494fe4 sp=0x11494fd8
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x11494fe4 sp=0x11494fe4
created by runtime_test.TestPreemptionGC
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:243 +0xd0

goroutine 2599 [syscall, 3 minutes]:
runtime_test.TestFutexsleep.func1(0x0, 0x4876e800, 0x1dcd6517, 0x21e908, 0x13, 0x1054c0c0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/futex_test.go:47 +0x30 fp=0x111207d4 sp=0x111207a8
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x111207d4 sp=0x111207d4
created by runtime_test.TestFutexsleep
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/futex_test.go:51 +0x1f8

goroutine 252297 [mark worker (idle)]:
runtime.gopark(0x268bd8, 0x10522280, 0x2202a8, 0x12, 0x14, 0x0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x114957b4 sp=0x114957a0
runtime.gcBgMarkWorker(0x10517400)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1064 +0xe0 fp=0x114957e4 sp=0x114957b4
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x114957e4 sp=0x114957e4
created by runtime.gcBgMarkStartWorkers
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1012 +0x8c

goroutine 252341 [runnable]:
runtime_test.glob.func1(0x10550110)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:196 fp=0x11495fd8 sp=0x11495fd8
runtime_test.TestPreemptionGC.func1(0x10550110)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:241 +0x40 fp=0x11495fe4 sp=0x11495fd8
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x11495fe4 sp=0x11495fe4
created by runtime_test.TestPreemptionGC
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:243 +0xd0

goroutine 252281 [mark worker (idle)]:
runtime.gopark(0x268bd8, 0x10e60780, 0x2202a8, 0x12, 0x14, 0x0)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc.go:185 +0x150 fp=0x11123fb4 sp=0x11123fa0
runtime.gcBgMarkWorker(0x1056a000)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1064 +0xe0 fp=0x11123fe4 sp=0x11123fb4
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x11123fe4 sp=0x11123fe4
created by runtime.gcBgMarkStartWorkers
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/mgc.go:1012 +0x8c

goroutine 252339 [runnable]:
runtime_test.glob.func1(0x10550110)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:196 fp=0x11497fd8 sp=0x11497fd8
runtime_test.TestPreemptionGC.func1(0x10550110)
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:241 +0x40 fp=0x11497fe4 sp=0x11497fd8
runtime.goexit()
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/asm_arm.s:982 +0x4 fp=0x11497fe4 sp=0x11497fe4
created by runtime_test.TestPreemptionGC
    /root/workspace/linux-arm-cheney-imx6-edac5d91445c/go/src/runtime/proc_test.go:243 +0xd0
FAIL    runtime 272.054s

/cc @RLH @aclements

@minux minux added this to the Go1.5 milestone Apr 29, 2015
@aclements
Copy link
Member

This was happening frequently on the linux-arm builders until April 29th and hasn't happened since. My guess is that the memory corruption fixed that day by 4d1ab2d was the cause, especially since the problem first showed up on the dashboard on April 22nd, which was the day TestNewOSProc0 was introduced (ca9128f), which, if I understand correctly, triggered the memory corruption. Please reopen if you think we should dig in to this more.

@golang golang locked and limited conversation to collaborators Jun 25, 2016
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

3 participants