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

net: TestDialerDualStack, TestTCPServer, TestUDPServer fail on some Linux distro #12206

Closed
pebbe opened this issue Aug 19, 2015 · 12 comments
Closed
Labels
FrozenDueToAge OS-Linux Testing An issue that has been verified to require only test changes, not just a test failure. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Milestone

Comments

@pebbe
Copy link
Contributor

pebbe commented Aug 19, 2015

Installing Go from fresh source, release branch go1.5, I get:

--- FAIL: TestDialerDualStack (0.36s)
        dial_test.go:664: dial tcp 127.0.0.1:36185: getsockopt: connection refused
        dial_test.go:664: dial tcp 127.0.0.1:56856: getsockopt: connection refused
--- FAIL: TestTCPServer (10.01s)
        server_test.go:58: skipping tcp :0->127.0.0.1 test
        server_test.go:58: skipping tcp 0.0.0.0:0->127.0.0.1 test
        server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0->127.0.0.1 test
        server_test.go:58: skipping tcp [::]:0->::1 test
        server_test.go:58: skipping tcp :0->::1 test
        server_test.go:58: skipping tcp 0.0.0.0:0->::1 test
        server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0->::1 test
        server_test.go:58: skipping tcp [::]:0->127.0.0.1 test
        server_test.go:58: skipping tcp :0->127.0.0.1 test
        server_test.go:58: skipping tcp 0.0.0.0:0->127.0.0.1 test
        server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0->127.0.0.1 test
        server_test.go:58: skipping tcp [::]:0->::1 test
        server_test.go:58: skipping tcp :0->::1 test
        server_test.go:58: skipping tcp 0.0.0.0:0->::1 test
        server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0->::1 test
        server_test.go:58: skipping tcp [::]:0->127.0.0.1 test
        server_test.go:105: dial tcp [::1]:53560: i/o timeout
--- FAIL: TestUDPServer (30.01s)
        server_test.go:254: skipping udp :0->127.0.0.1 test
        server_test.go:254: skipping udp 0.0.0.0:0->127.0.0.1 test
        server_test.go:254: skipping udp [::ffff:0.0.0.0]:0->127.0.0.1 test
        server_test.go:254: skipping udp [::]:0->::1 test
        server_test.go:254: skipping udp :0->::1 test
        server_test.go:254: skipping udp 0.0.0.0:0->::1 test
        server_test.go:254: skipping udp [::ffff:0.0.0.0]:0->::1 test
        server_test.go:254: skipping udp [::]:0->127.0.0.1 test
        server_test.go:254: skipping udp :0->127.0.0.1 test
        server_test.go:254: skipping udp 0.0.0.0:0->127.0.0.1 test
        server_test.go:254: skipping udp [::ffff:0.0.0.0]:0->127.0.0.1 test
        server_test.go:254: skipping udp [::]:0->::1 test
        server_test.go:254: skipping udp :0->::1 test
        server_test.go:254: skipping udp 0.0.0.0:0->::1 test
        server_test.go:254: skipping udp [::ffff:0.0.0.0]:0->::1 test
        server_test.go:254: skipping udp [::]:0->127.0.0.1 test
        server_test.go:310: #18: read udp [::1]:58088: i/o timeout
        server_test.go:313: #18: read udp [::1]:42895: i/o timeout
        server_test.go:254: skipping udp4 :0->127.0.0.1 test
        server_test.go:254: skipping udp4 0.0.0.0:0->127.0.0.1 test
        server_test.go:254: skipping udp4 [::ffff:0.0.0.0]:0->127.0.0.1 test
        server_test.go:254: skipping udp6 :0->::1 test
        server_test.go:254: skipping udp6 [::]:0->::1 test
        server_test.go:310: #25: read udp6 [::1]:38590: i/o timeout
        server_test.go:313: #25: read udp6 [::1]:41566: i/o timeout
        server_test.go:310: #27: read udp [::1]:37440->[::1]:52935: i/o timeout
        server_test.go:313: #27: read udp [::1]:52935: i/o timeout
FAIL
FAIL    net     42.809s

$ for i in -s -r -v -m -p -i -o; do uname $i; done
Linux
3.5.0-45-generic
#68~precise1-Ubuntu SMP Wed Dec 4 16:18:46 UTC 2013

x86_64
x86_64
x86_64
GNU/Linux

@ianlancetaylor ianlancetaylor changed the title Go 1.5 tests fail: TestDialerDualStack, TestTCPServer, TestUDPServer net: tests fail: TestDialerDualStack, TestTCPServer, TestUDPServer Aug 19, 2015
@ianlancetaylor ianlancetaylor added this to the Go1.5.1 milestone Aug 19, 2015
@jacobsa
Copy link
Contributor

jacobsa commented Aug 24, 2015

FYI, I saw this on OS X 10.10.5 at the go1.5 tag as well. It went away when I ran all.bash a second time.

@rsc
Copy link
Contributor

rsc commented Aug 25, 2015

This looks most likely a problem with our testing setup, not something fundamental. If so, it should be Go1.6Early. But it would be nice to confirm.

@mikioh
Copy link
Contributor

mikioh commented Aug 29, 2015

@pebbe,

The results say that all IPv6 tests using IPv6 loopback address and loopback interface fail on your node under the test. That means that the node implements and enables IPv6 node functionality, and probably some software components along L3-L2 host transmission/reception packet path inside the kernel (such as packet filter, protocol/address family translator blah blah) discard test packets.

For now I have no plan to make existing test cases more adaptive for helping such case.

@jacobsa,

Looks like mbuf stuff on latest darwin kernels sometimes requires a warmup. Please check the output of "netstat -is, netstat -s and netstat -m" when you have a fail.

@mikioh mikioh changed the title net: tests fail: TestDialerDualStack, TestTCPServer, TestUDPServer net: IPv6 tests fail: TestDialerDualStack, TestTCPServer, TestUDPServer Aug 29, 2015
@ianlancetaylor ianlancetaylor modified the milestones: Go1.6Early, Go1.5.1 Sep 8, 2015
@rsc rsc modified the milestones: Unplanned, Go1.6Early Nov 4, 2015
@mikioh mikioh added the Testing An issue that has been verified to require only test changes, not just a test failure. label May 11, 2016
@andrewshadura
Copy link

andrewshadura commented Feb 20, 2017

We still see it with 1.6.1:

--- FAIL: TestDialerDualStack (0.53s)
  dial_test.go:668: dial tcp 127.0.0.1:53786: getsockopt: connection refused
     dial_test.go:668: dial tcp 127.0.0.1:34389: getsockopt: connection refused
--- FAIL: TestTCPServer (10.00s)
    server_test.go:58: skipping tcp :0<-127.0.0.1 test
  server_test.go:58: skipping tcp 0.0.0.0:0<-127.0.0.1 test
   server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0<-127.0.0.1 test
  server_test.go:58: skipping tcp [::]:0<-::1 test
    server_test.go:58: skipping tcp :0<-::1 test
        server_test.go:58: skipping tcp 0.0.0.0:0<-::1 test
 server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0<-::1 test
        server_test.go:58: skipping tcp [::]:0<-127.0.0.1 test
      server_test.go:58: skipping tcp :0<-127.0.0.1 test
  server_test.go:58: skipping tcp 0.0.0.0:0<-127.0.0.1 test
   server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0<-127.0.0.1 test
  server_test.go:58: skipping tcp [::]:0<-::1 test
    server_test.go:58: skipping tcp :0<-::1 test
        server_test.go:58: skipping tcp 0.0.0.0:0<-::1 test
 server_test.go:58: skipping tcp [::ffff:0.0.0.0]:0<-::1 test
        server_test.go:58: skipping tcp [::]:0<-127.0.0.1 test
      server_test.go:105: dial tcp [::1]:59952: i/o timeout
--- FAIL: TestUDPServer (30.00s)
 server_test.go:254: skipping udp :0<-127.0.0.1 test
 server_test.go:254: skipping udp 0.0.0.0:0<-127.0.0.1 test
  server_test.go:254: skipping udp [::ffff:0.0.0.0]:0<-127.0.0.1 test
 server_test.go:254: skipping udp [::]:0<-::1 test
   server_test.go:254: skipping udp :0<-::1 test
       server_test.go:254: skipping udp 0.0.0.0:0<-::1 test
        server_test.go:254: skipping udp [::ffff:0.0.0.0]:0<-::1 test
       server_test.go:254: skipping udp [::]:0<-127.0.0.1 test
     server_test.go:254: skipping udp :0<-127.0.0.1 test
 server_test.go:254: skipping udp 0.0.0.0:0<-127.0.0.1 test
  server_test.go:254: skipping udp [::ffff:0.0.0.0]:0<-127.0.0.1 test
 server_test.go:254: skipping udp [::]:0<-::1 test
   server_test.go:254: skipping udp :0<-::1 test
       server_test.go:254: skipping udp 0.0.0.0:0<-::1 test
        server_test.go:254: skipping udp [::ffff:0.0.0.0]:0<-::1 test
       server_test.go:254: skipping udp [::]:0<-127.0.0.1 test
     server_test.go:310: #18: read udp [::1]:33195: i/o timeout
     server_test.go:313: #18: read udp [::1]:39972: i/o timeout
     server_test.go:254: skipping udp4 :0<-127.0.0.1 test
        server_test.go:254: skipping udp4 0.0.0.0:0<-127.0.0.1 test
 server_test.go:254: skipping udp4 [::ffff:0.0.0.0]:0<-127.0.0.1 test
        server_test.go:254: skipping udp6 :0<-::1 test
      server_test.go:254: skipping udp6 [::]:0<-::1 test
  server_test.go:310: #25: read udp6 [::1]:41075: i/o timeout
    server_test.go:313: #25: read udp6 [::1]:55349: i/o timeout
    server_test.go:310: #27: read udp [::1]:51930->[::1]:51242: i/o timeout
     server_test.go:313: #27: read udp [::1]:51242: i/o timeout
FAIL
FAIL    net     41.725s

@bradfitz
Copy link
Contributor

@andrewshadura, Go 1.6 is no longer maintained. In fact, Go 1.7 isn't either (except for security fixes), and Go 1.8 is only updated for bad bugs and security fixes.

@mikioh, can you look at this for Go 1.9?

@bradfitz bradfitz modified the milestones: Go1.9, Unplanned Feb 20, 2017
@andrewshadura
Copy link

@bradfitz, I'm aware of that, however, we (as a Debian downstream) build a Debian package for it, and it fails because of the failing tests.

@bradfitz
Copy link
Contributor

I recommend you disable the failing tests then.

@andrewshadura
Copy link

That's what I'm going to do. I just thought maybe some better solution appeared, or maybe if I rant here someone proposes one for a newer upstream version, and I can backport it :)

@mikioh
Copy link
Contributor

mikioh commented Feb 21, 2017

@andrewshadura,

Can you show us the following?

  • distribution name or version
  • kernel version
  • all configurations related to loopback interface, IP stack and socket; e.g., the output of sysctl -a | egrep 'ipv|netfilter|sock', iptables{,6},conf

@mikioh mikioh removed their assignment Feb 21, 2017
@mikioh mikioh changed the title net: IPv6 tests fail: TestDialerDualStack, TestTCPServer, TestUDPServer net: TestDialerDualStack, TestTCPServer, TestUDPServer fail on some Linux distro Feb 21, 2017
@mikioh mikioh added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Jul 7, 2017
@broady broady modified the milestones: Go1.9Maybe, Go1.9 Jul 17, 2017
@bradfitz bradfitz modified the milestones: Go1.9Maybe, Go1.10 Jul 20, 2017
@gopherbot
Copy link

Timed out in state WaitingForInfo. Closing.

(I am just a bot, though. Please speak up if this is a mistake or you have the requested information.)

@mvdan
Copy link
Member

mvdan commented Jul 28, 2018

It looks like we sometimes still hit this on the builders: https://build.golang.org/log/c625e43f414b3e77c3261f84338948196b92a409

Though that is the ios builder, so I'm not sure if that kind of failure is expected. @bradfitz thoughts?

@bradfitz
Copy link
Contributor

@mvdan, could you file a new bug for that? Flaky tests are never good.

@golang golang locked and limited conversation to collaborators Jul 31, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge OS-Linux Testing An issue that has been verified to require only test changes, not just a test failure. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

10 participants