What steps will reproduce the problem?
run the following for a few hours:
#!/bin/bash
set -xe
go test -c os/signal
while true; do
./signal.test -test.v -test.short -test.cpu 1,2,4
done
What is the expected output?
test passes always
What do you see instead?
=== RUN TestSignal
--- PASS: TestSignal (0.02 seconds)
signal_test.go:35: sighup...
signal_test.go:44: sigwinch...
signal_test.go:52: sigwinch...
signal_test.go:55: sigwinch...
=== RUN TestStress
--- PASS: TestStress (0.10 seconds)
=== RUN TestSignal-2
--- PASS: TestSignal-2 (0.00 seconds)
signal_test.go:35: sighup...
signal_test.go:44: sigwinch...
signal_test.go:52: sigwinch...
signal_test.go:55: sigwinch...
=== RUN TestStress-2
--- PASS: TestStress-2 (0.10 seconds)
=== RUN TestSignal-4
--- FAIL: TestSignal-4 (0.00 seconds)
signal_test.go:35: sighup...
signal_test.go:44: sigwinch...
signal_test.go:23: signal was user defined signal 1, want window changed
=== RUN TestStress-4
--- PASS: TestStress-4 (0.10 seconds)
FAIL
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 +9742f722b558 Mon Mar 04 19:48:50 2013 -0800 linux/amd64
Please provide any additional information below.
takes a lot of runs to reproduce this
I've been able to reproduce this twice on a many-core machine. I can't imagine that some
outside force is sending SIGUSR1 to my Go tests, but I guess nothing is impossible...