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

Comments

Projects
None yet
10 participants
@pebbe
Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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 label May 11, 2016

@andrewshadura

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link
Member

commented Feb 20, 2017

@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

This comment has been minimized.

Copy link

commented Feb 20, 2017

@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

This comment has been minimized.

Copy link
Member

commented Feb 20, 2017

I recommend you disable the failing tests then.

@andrewshadura

This comment has been minimized.

Copy link

commented Feb 20, 2017

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

This comment has been minimized.

Copy link
Contributor

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 added the OS-Linux label Feb 21, 2017

@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

@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

This comment has been minimized.

Copy link

commented Aug 7, 2017

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.)

@gopherbot gopherbot closed this Aug 7, 2017

@mvdan

This comment has been minimized.

Copy link
Member

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

This comment has been minimized.

Copy link
Member

commented Jul 31, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.