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: go1.5beta1 net tests timeout on OS X 10.10.4, apparently in getaddrinfo #11665

Closed
calmh opened this issue Jul 11, 2015 · 4 comments
Closed
Milestone

Comments

@calmh
Copy link
Contributor

calmh commented Jul 11, 2015

The net package tests time out, apparently in getaddrinfo. This is not affected by having or not having a working internet connection, although even the "working" variant is a bit flaky for me at the moment (airport). Latest OS X (Yosemite 10.10.4), bootstrapping from official 1.4.2 package. Full log in https://gist.github.com/3a22082bc4a809627b41.

jb@syno:/usr/local/go1.5/src $ ./all.bash 
...
ok      mime/multipart  0.138s
ok      mime/quotedprintable    0.200s
panic: test timed out after 2m0s

goroutine 268 [running]:
testing.startAlarm.func1()
    /usr/local/go1.5/src/testing/testing.go:702 +0x132
created by time.goFunc
    /usr/local/go1.5/src/time/sleep.go:129 +0x3a

goroutine 1 [chan receive]:
testing.RunTests(0x37daf8, 0x46eb60, 0x95, 0x95, 0x2ba601)
    /usr/local/go1.5/src/testing/testing.go:561 +0x8ad
testing.(*M).Run(0xc820061ef8, 0x5725e8)
    /usr/local/go1.5/src/testing/testing.go:493 +0x70
net.TestMain(0xc820061ef8)
    /usr/local/go1.5/src/net/main_test.go:50 +0x2b
main.main()
    net/_test/_testmain.go:396 +0x113

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /usr/local/go1.5/src/runtime/asm_amd64.s:1696 +0x1

goroutine 267 [syscall, locked to thread]:
net._C2func_getaddrinfo(0x12001b0, 0x0, 0xc8202d9d10, 0xc820268300, 0x0, 0x0, 0x0)
    ??:0 +0x4d
net.cgoLookupIPCNAME(0x307fb0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37e400)
    /usr/local/go1.5/src/net/cgo_unix.go:111 +0x1ac
net.cgoLookupIP(0x307fb0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100000002)
    /usr/local/go1.5/src/net/cgo_unix.go:163 +0x56
net.lookupIP(0x307fb0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go1.5/src/net/lookup_unix.go:67 +0x94
net.glob.func15(0x37e498, 0x307fb0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go1.5/src/net/hook.go:10 +0x4d
net.lookupIPMerge.func1(0x0, 0x0, 0x0, 0x0)
    /usr/local/go1.5/src/net/lookup.go:68 +0x71
internal/singleflight.(*Group).doCall(0x46fdd0, 0xc8202b6d70, 0x307fb0, 0x4, 0xc820233b98)
    /usr/local/go1.5/src/internal/singleflight/singleflight.go:93 +0x2c
internal/singleflight.(*Group).Do(0x46fdd0, 0x307fb0, 0x4, 0xc820233b98, 0x0, 0x0, 0x0, 0x0, 0x10)
    /usr/local/go1.5/src/internal/singleflight/singleflight.go:63 +0x284
net.lookupIPMerge(0x307fb0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go1.5/src/net/lookup.go:69 +0x9b
net.LookupIP(0x307fb0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go1.5/src/net/lookup.go:50 +0x2d2
net.TestLookupWithIP(0xc8202e4bd0)
    /usr/local/go1.5/src/net/ip_test.go:82 +0x2fa
testing.tRunner(0xc8202e4bd0, 0x46f058)
    /usr/local/go1.5/src/testing/testing.go:455 +0x98
created by testing.RunTests
    /usr/local/go1.5/src/testing/testing.go:560 +0x86d
FAIL    net 120.024s
ok      net/http    5.048s
...
2015/07/11 14:18:14 Failed: exit status 1
jb@syno:/usr/local/go1.5/src $ git describe
fatal: No annotated tags can describe 'b6ead9f171742cd5b519a22ecc690354b0d1ce27'.
However, there were unannotated tags: try --tags.
[128]
jb@syno:/usr/local/go1.5/src $ git describe --tags
go1.5beta1
jb@syno:/usr/local/go1.5/src $ uname -a
Darwin syno 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64 x86_64
jb@syno:/usr/local/go1.5/src $ 

(should go1.5beta1 maybe have been an annotated tag?)

@ianlancetaylor ianlancetaylor added this to the Go1.5 milestone Jul 11, 2015
@ianlancetaylor
Copy link
Contributor

CC @bradfitz @mdempsky @mikioh

@ianlancetaylor ianlancetaylor changed the title go1.5beta1 net tests timeout on OS X 10.10.4, apparently in getaddrinfo net: go1.5beta1 net tests timeout on OS X 10.10.4, apparently in getaddrinfo Jul 11, 2015
@bradfitz
Copy link
Contributor

I can't reproduce. I'm using the same OS X version.

Do you have any antivirus or firewall software running? Or VPN? Somehow your DNS requests are taking a different turn inside libc/kernel.

@calmh
Copy link
Contributor Author

calmh commented Jul 14, 2015

No weird stuff (OS X firewall turned off, no VPN, no odd apps to track internet usage). However I do have a slightly unusual DNS setup; I have an /etc/resolver/<internal-company-domain> with a search path and an internal DNS server in it, that is not reachable unless I'm on the required network. This does mean unqualified names that don't actually exist in any of the earlier search paths get tried in that direction, and that takes a long time since the DNS server in question is not reachable.

I get a lot of this in tcpdump when running the test in question:

...
13:08:33.797045 IP 172.16.32.169.65352 > 192.168.6.1.53: 40700+ A? abc.<internal-company-domain>. (34)
13:08:33.797045 IP 172.16.32.169.56815 > 192.168.6.1.53: 11779+ AAAA? abc.<internal-company-domain>. (34)
13:08:50.590418 IP 172.16.32.169.64323 > 192.168.6.1.53: 51924+ A? 123:.<internal-company-domain>. (35)
13:08:50.590484 IP 172.16.32.169.56580 > 192.168.6.1.53: 8017+ AAAA? 123:.<internal-company-domain>. (35)
...

Those never get an answer. Perhaps timeout of resolving unqualified names should not really be a test failure? I get that my setup could be considered broken (although it works for me and does what I asked of it), but depending on the build hosts DNS setup seems a little fragile.

@gopherbot
Copy link

CL https://golang.org/cl/12523 mentions this issue.

@rsc rsc closed this as completed in 5201bf7 Jul 22, 2015
@golang golang locked and limited conversation to collaborators Aug 5, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants