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

os/signal: TestStress failing on netbsd-amd64 #10656

Closed
bsiegert opened this issue May 1, 2015 · 4 comments
Closed

os/signal: TestStress failing on netbsd-amd64 #10656

bsiegert opened this issue May 1, 2015 · 4 comments
Milestone

Comments

@bsiegert
Copy link
Contributor

bsiegert commented May 1, 2015

I got this test failure when running all.bash on netbsd-amd64, during the os/signal test:

runtime: newstack sp=0xc208025ee0 stack=[0xc208025800, 0xc208026000]
        morebuf={pc:0x427f4a sp:0xc208025ee8 lr:0x0}
        sched={pc:0x40ca74 sp:0xc208025ee0 lr:0x0 ctxt:0x0}
syscall.Syscall(0x25, 0xc4a, 0x1e, 0x0, 0x0, 0x0, 0x0)
        /home/bsiegert/go/src/syscall/asm_netbsd_amd64.s:40 +0x5b
syscall.Kill(0xc4a, 0x1e, 0x0, 0x0)
        /home/bsiegert/go/src/syscall/zsyscall_netbsd_amd64.go:655 +0x52
os/signal.TestStress.func2(0xc208016600, 0xc208016660)
        /home/bsiegert/go/src/os/signal/signal_test.go:96 +0x90
created by os/signal.TestStress
        /home/bsiegert/go/src/os/signal/signal_test.go:101 +0x111
fatal error: runtime: stack split at bad time

runtime stack:
runtime.throw(0x5dd510, 0x20)
        /home/bsiegert/go/src/runtime/panic.go:543 +0x96
runtime.newstack()
        /home/bsiegert/go/src/runtime/stack1.go:654 +0x5a0
runtime.morestack()
        /home/bsiegert/go/src/runtime/asm_amd64.s:330 +0x82

goroutine 10 [syscall]:
runtime.printlock()
        /home/bsiegert/go/src/runtime/print1.go:37 +0x6a fp=0xc208025f00 sp=0xc208025ee8
runtime.throw(0x5deb10, 0x2d)
        /home/bsiegert/go/src/runtime/panic.go:537 +0x9 fp=0xc208025f18 sp=0xc208025f00
runtime.exitsyscall(0x486072)
        /home/bsiegert/go/src/runtime/proc1.go:1953 +0x65 fp=0xc208025f58 sp=0xc208025f18
syscall.Syscall(0x25, 0xc4a, 0x1e, 0x0, 0x0, 0x0, 0x0)
        /home/bsiegert/go/src/syscall/asm_netbsd_amd64.s:40 +0x5b fp=0xc208025f60 sp=0xc208025f58
syscall.Kill(0xc4a, 0x1e, 0x0, 0x0)
        /home/bsiegert/go/src/syscall/zsyscall_netbsd_amd64.go:655 +0x52 fp=0xc208025fa0 sp=0xc208025f60
os/signal.TestStress.func2(0xc208016600, 0xc208016660)
        /home/bsiegert/go/src/os/signal/signal_test.go:96 +0x90 fp=0xc208025fd0 sp=0xc208025fa0
runtime.goexit()
        /home/bsiegert/go/src/runtime/asm_amd64.s:1670 +0x1 fp=0xc208025fd8 sp=0xc208025fd0
created by os/signal.TestStress
        /home/bsiegert/go/src/os/signal/signal_test.go:101 +0x111

goroutine 1 [chan receive]:
testing.RunTests(0x5fbd30, 0x689fe0, 0x6, 0x6, 0x7f7ff7fc0001)
        /home/bsiegert/go/src/testing/testing.go:561 +0xa6b
testing.(*M).Run(0xc208039f38, 0x24)
        /home/bsiegert/go/src/testing/testing.go:490 +0x73
main.main()
        os/signal/_test/_testmain.go:66 +0x119

goroutine 5 [syscall]:
os/signal.loop()
        /home/bsiegert/go/src/os/signal/signal_unix.go:22 +0x1f
created by os/signal.init.1
        /home/bsiegert/go/src/os/signal/signal_unix.go:28 +0x3f

goroutine 8 [chan receive]:
os/signal.TestStress(0xc20807c120)
        /home/bsiegert/go/src/os/signal/signal_test.go:105 +0x173
testing.tRunner(0xc20807c120, 0x689ff8)
        /home/bsiegert/go/src/testing/testing.go:452 +0x9c
created by testing.RunTests
        /home/bsiegert/go/src/testing/testing.go:560 +0xa2b
FAIL    os/signal       0.183s

Changing to the os/signal dir and running go test results in

edamame$ go test
runtime: gp: gp=panic during panic

goroutine 0 [idle]:
runtime.startpanic_m()
        /home/bsiegert/go/src/runtime/panic1.go:66 +0x154
runtime.systemstack(0x5fc188)
        /home/bsiegert/go/src/runtime/asm_amd64.s:278 +0xab
runtime.startpanic()
        /home/bsiegert/go/src/runtime/panic.go:521 +0x14
runtime.sighandler(0x5, 0xc208083c60, 0xc208083ce0, 0xc208000f00)
        /home/bsiegert/go/src/runtime/signal_amd64x.go:142 +0x2e3
runtime.sigtramp(0x100000005, 0x0, 0x0, 0x1, 0x0, 0xfffffe811224faa0, 0xffffffff808428bf, 0xcc000, 0x300000000, 0xfffffe826e69a848, ...)
        /home/bsiegert/go/src/runtime/sys_netbsd_amd64.s:256 +0x56
runtime.sigreturn_tramp(0x0, 0x0, 0x1, 0x0, 0xfffffe811224faa0, 0xffffffff808428bf, 0xcc000, 0x300000000, 0xfffffe826e69a848, 0xc4000, ...)
        /home/bsiegert/go/src/runtime/sys_netbsd_amd64.s:211

goroutine 10 [syscall]:
syscall.Syscall(0x25, 0x19ae, 0x1e, 0x0, 0x0, 0x428e34, 0x5fc010)
        /home/bsiegert/go/src/syscall/asm_netbsd_amd64.s:21 +0x5 fp=0xc208025f60 sp=0xc208025f58
syscall.Kill(0x19ae, 0x1e, 0x0, 0x0)
        /home/bsiegert/go/src/syscall/zsyscall_netbsd_amd64.go:655 +0x52 fp=0xc208025fa0 sp=0xc208025f60
os/signal.TestStress.func2(0xc208010600, 0xc208010660)
        /home/bsiegert/go/src/os/signal/signal_test.go:97 +0x95 fp=0xc208025fd0 sp=0xc208025fa0
runtime.goexit()
        /home/bsiegert/go/src/runtime/asm_amd64.s:1670 +0x1 fp=0xc208025fd8 sp=0xc208025fd0
created by os/signal.TestStress
        /home/bsiegert/go/src/os/signal/signal_test.go:101 +0x111

goroutine 1 [chan receive]:
testing.RunTests(0x5fbd30, 0x689fe0, 0x6, 0x6, 0x7f7ff7fc0001)
        /home/bsiegert/go/src/testing/testing.go:561 +0xa6b
testing.(*M).Run(0xc208039f38, 0x24)
        /home/bsiegert/go/src/testing/testing.go:490 +0x73
main.main()
        os/signal/_test/_testmain.go:66 +0x119

goroutine 5 [syscall]:
os/signal.loop()
        /home/bsiegert/go/src/os/signal/signal_unix.go:22 +0x1f
created by os/signal.init.1
        /home/bsiegert/go/src/os/signal/signal_unix.go:28 +0x3f

goroutine 8 [sleep]:
time.Sleep(0xb2d05e00)
        /home/bsiegert/go/src/runtime/time.go:59 +0xfc
os/signal.TestStress(0xc20807a120)
        /home/bsiegert/go/src/os/signal/signal_test.go:102 +0x11f
testing.tRunner(0xc20807a120, 0x689ff8)
        /home/bsiegert/go/src/testing/testing.go:452 +0x9c
created by testing.RunTests
        /home/bsiegert/go/src/testing/testing.go:560 +0xa2b

goroutine 9 [runnable]:
os/signal.TestStress.func1(0xc208010600, 0xc208010660)
        /home/bsiegert/go/src/os/signal/signal_test.go:81 +0x22e
created by os/signal.TestStress
        /home/bsiegert/go/src/os/signal/signal_test.go:88 +0xe4
exit status 2
FAIL    os/signal       0.048s

Running it a second time just after that, it hangs consuming 100% CPU and not reacting to signals (hah!).

Any ideas?

@bsiegert
Copy link
Contributor Author

bsiegert commented May 1, 2015

This might be the same issue as #10027?

@ianlancetaylor ianlancetaylor added this to the Go1.5 milestone Jun 3, 2015
@ianlancetaylor
Copy link
Contributor

CC @dvyukov

@rsc
Copy link
Contributor

rsc commented Jul 15, 2015

Closing unless there are more recent examples. There was plenty of corruption on May 1.

@rsc rsc closed this as completed Jul 15, 2015
@bsiegert
Copy link
Contributor Author

It is much better now:

$ go test os/signal 
ok      os/signal       6.611s

@golang golang locked and limited conversation to collaborators Jul 18, 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

4 participants