Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
net: dial occasionally fails when kern.ipc.soconnect_async=1 on dragonfly #7541
The buildbot says: http://build.golang.org/log/52da4cf109770e1b2e7338e3df0882349b5190b3 --- FAIL: TestVariousDeadlines4Proc (75.00 seconds) timeout_test.go:480: 1ns run 1/1 timeout_test.go:484: Dial: dial tcp 127.0.0.1:3913: operation timed out and/or http://build.golang.org/log/5633c87083c46fb7ba3fd0876c6e93a10b2db2d1 --- FAIL: TestTCPConcurrentAccept-256 (75.00 seconds) tcp_test.go:469: Dial failed: dial tcp 127.0.0.1:4696: operation timed out We know that the 75s means net.inet.tcp.keepinit=75000, so something wrong happened on dragonfly.
I (almost) give up. Looks like DragonFly BSD's pcb management sticks to rules, probably for its SMP nature, anyway not easy to make it flexible without reconfiguring kernel state via sysctl or using socket options. In conclusion, tweaking portrange during test run would make sense (that's what I'm planning for Go 1.4, sigh).