net: TestTCPSelfConnect reports failure after 34 hours of stress testing. #18290
Comments
Challenging against TCP simultaneous open is a bit tough job. Let's push out the test from short-mode testing except when running on buildbots. |
If the test just rarely catches the bug, I'd rather not sweet it under the rug by making it run less often. Is this not a real bug? If so, what's the bug. |
I'm confused. The fix (https://codereview.appspot.com/5650071) was approved by you. I'm not sure what you are asking for. My understanding is that TCP simultaneous open is a valid behavior of TCP and the fix written by @rsc was just a try to mitigate some undesirable side effect of the behavior for helping some application. But that might be a compromise. I think it's basically impossible to avoid TCP simultaneous open completely unless we have full control of each TCP FSM and IP control block inside the kernel. |
I don't see any GNU/Linux failures of TestTCPSelfConnect in the builders at all. I do see a few failures on Solaris; for example: https://build.golang.org/log/5315cb250600796a1ffe1c4c3a8c3f626769b692. |
Happened to run into this one as well with 1.11rc2 on CentOS 7 x86_64:
|
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?On a
rlh@rlh1:~/work/go/src$ go version
go version devel +d4b46aa Thu Dec 8 01:36:44 2016 +0000 linux/amd64
What operating system and processor architecture are you using (
go env
)?What did you do?
I ran ./run.bash in a simple loop using the following.
GOTRACEBACK=crash ./run.bash -no-rebuild
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
See above.
What did you expect to see?
Success.
What did you see instead?
After a day (34 hours) 727 successful runs I got the following failure.
..snip. ...
ok mime/quotedprintable 0.162s
--- FAIL: TestTCPSelfConnect (0.13s)
tcpsock_test.go:661: Dial 127.0.0.1:48322 should fail
tcpsock_test.go:661: Dial 127.0.0.1:48324 should fail
tcpsock_test.go:661: Dial 127.0.0.1:48325 should fail
tcpsock_test.go:661: Dial 127.0.0.1:48326 should fail
tcpsock_test.go:661: Dial 127.0.0.1:48327 should fail
tcpsock_test.go:661: Dial 127.0.0.1:48328 should fail
tcpsock_test.go:661: Dial 127.0.0.1:48329 should fail
FAIL
FAIL net 1.527s
ok net/http 2.550s
ok net/http/cgi 0.495s
... snip ..
Note missing 48323.
I have not reproduced it. The only reason this is a concern is that it limits stress testing speculative parts of the GC and runtime.
The text was updated successfully, but these errors were encountered: