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: intermittent TestAddFDReturnsError failure #4423

Closed
alberts opened this issue Nov 22, 2012 · 5 comments

Comments

Projects
None yet
5 participants
@alberts
Copy link
Contributor

commented Nov 22, 2012

What steps will reproduce the problem?

#!/bin/bash
set -xe
go test -c net
while true; do
GOMAXPROCS=$[ 1 + $[ RANDOM % 128 ]] ./net.test -test.run=TestAddFDReturnsError
-test.timeout=30s
done

What do you see instead?

panic: test timed out

Which compiler are you using (5g, 6g, 8g, gccgo)?

6g

Which operating system are you using?

linux

Which version are you using?  (run 'go version')

go version devel +f2755950769b Wed Nov 21 14:40:50 2012 -0800
@minux

This comment has been minimized.

Copy link
Member

commented Nov 23, 2012

Comment 1:

reproduced after executing the test with random GOMAXPROCS 29292 times.
+ GOMAXPROCS=6
+ ./net.test -test.run=TestAddFDReturnsError -test.timeout=10s
panic: test timed out
goroutine 10 [running]:
testing.alarm()
        /home/minux/s/go/go.hg/src/pkg/testing/testing.go:477 +0x53
created by time.goFunc
        /home/minux/s/go/go.hg/src/pkg/time/sleep.go:96 +0x48
goroutine 1 [chan receive]:
testing.RunTests(0x400c00, 0x6e9270, 0x4e, 0x4e, 0xc20008f001, ...)
        /home/minux/s/go/go.hg/src/pkg/testing/testing.go:378 +0x891
testing.Main(0x400c00, 0x6e9270, 0x4e, 0x4e, 0x6e21c8, ...)
        /home/minux/s/go/go.hg/src/pkg/testing/testing.go:313 +0x8a
main.main()
        net/_test/_testmain.go:207 +0x9a
goroutine 2 [syscall]:
created by runtime.main
        /home/minux/s/go/go.hg/src/pkg/runtime/proc.c:225
goroutine 3 [timer goroutine (idle)]:
created by addtimer
        /home/minux/s/go/go.hg/src/pkg/runtime/ztime_linux_amd64.c:73
goroutine 4 [chan receive]:
net.(*pollServer).WaitRead(0xc20005ce40, 0xc2000b60c0, 0xc20005c600, 0xb,
0xffffffffffffff01, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:243 +0x63
net.(*netFD).Read(0xc2000b60c0, 0xc20008f3d0, 0x1, 0x1, 0xffffffffffffffff, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:430 +0x1bb
net.(*conn).Read(0xc20008f3a8, 0xc20008f3d0, 0x1, 0x1, 0xc2000a0cc0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/net.go:121 +0xd3
net.TestAddFDReturnsError(0xc20008e090, 0xc216aa25ec)
       /home/minux/s/go/go.hg/src/pkg/net/fd_unix_test.go:47 +0x42c
testing.tRunner(0xc20008e090, 0x6e9348, 0x0, 0x0)
        /home/minux/s/go/go.hg/src/pkg/testing/testing.go:301 +0x6c
created by testing.RunTests
        /home/minux/s/go/go.hg/src/pkg/testing/testing.go:377 +0x86e
goroutine 5 [syscall]:
syscall.Syscall6()
        /home/minux/s/go/go.hg/src/pkg/syscall/asm_linux_amd64.s:40 +0x5
syscall.EpollWait(0x6, 0xc2000b9010, 0xa, 0xa, 0xffffffffffffffff, ...)
        /home/minux/s/go/go.hg/src/pkg/syscall/zerrors_linux_amd64.go:1846 +0x98
net.(*pollster).WaitFD(0xc2000b9000, 0xc20005ccf0, 0x0, 0x0, 0x0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_linux.go:146 +0x121
net.(*pollServer).Run(0xc20005ccf0, 0x0)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:211 +0xef
created by net.newPollServer
        /home/minux/s/go/go.hg/src/pkg/net/newpollserver_unix.go:33 +0x367
goroutine 6 [chan receive]:
net.(*pollServer).WaitRead(0xc20005ccf0, 0xc2000b6000, 0xc20005c600, 0xb, 0xc20005c601,
...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:243 +0x63
net.(*netFD).accept(0xc2000b6000, 0x44e210, 0x0, 0xc20005c0f0, 0xc20008f0b0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:620 +0x1c1
net.(*TCPListener).AcceptTCP(0xc20008f340, 0xc20008f430, 0x0, 0x0, 0x18, ...)
        /home/minux/s/go/go.hg/src/pkg/net/tcpsock_posix.go:237 +0x62
net.(*TCPListener).Accept(0xc20008f340, 0x0, 0x0, 0x0, 0x0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/tcpsock_posix.go:247 +0x49
net.func·025(0xc20008de00, 0x0)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix_test.go:24 +0x2d
created by net.TestAddFDReturnsError
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix_test.go:30 +0x173
goroutine 7 [syscall]:
syscall.Syscall6()
        /home/minux/s/go/go.hg/src/pkg/syscall/asm_linux_amd64.s:40 +0x5
syscall.EpollWait(0xa, 0xc2000b90c0, 0xa, 0xa, 0xffffffffffffffff, ...)
        /home/minux/s/go/go.hg/src/pkg/syscall/zerrors_linux_amd64.go:1846 +0x98
net.(*pollster).WaitFD(0xc2000b90b0, 0xc20005cdb0, 0x0, 0x0, 0x0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_linux.go:146 +0x121
net.(*pollServer).Run(0xc20005cdb0, 0x0)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:211 +0xef
created by net.newPollServer
        /home/minux/s/go/go.hg/src/pkg/net/newpollserver_unix.go:33 +0x367
goroutine 8 [syscall]:
syscall.Syscall6()
        /home/minux/s/go/go.hg/src/pkg/syscall/asm_linux_amd64.s:40 +0x5
syscall.EpollWait(0x10, 0xc2000b9170, 0xa, 0xa, 0xffffffffffffffff, ...)
        /home/minux/s/go/go.hg/src/pkg/syscall/zerrors_linux_amd64.go:1846 +0x98
net.(*pollster).WaitFD(0xc2000b9160, 0xc20005ce40, 0x0, 0x0, 0x0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_linux.go:146 +0x121
net.(*pollServer).Run(0xc20005ce40, 0x0)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:211 +0xef
created by net.newPollServer
        /home/minux/s/go/go.hg/src/pkg/net/newpollserver_unix.go:33 +0x367
goroutine 9 [syscall]:
syscall.Syscall6()
        /home/minux/s/go/go.hg/src/pkg/syscall/asm_linux_amd64.s:40 +0x5
syscall.EpollWait(0x10, 0xc2000e3010, 0xa, 0xa, 0xffffffffffffffff, ...)
        /home/minux/s/go/go.hg/src/pkg/syscall/zerrors_linux_amd64.go:1846 +0x98
net.(*pollster).WaitFD(0xc2000e3000, 0xc2000d2660, 0x0, 0x0, 0x0, ...)
        /home/minux/s/go/go.hg/src/pkg/net/fd_linux.go:146 +0x121
net.(*pollServer).Run(0xc2000d2660, 0x0)
        /home/minux/s/go/go.hg/src/pkg/net/fd_unix.go:211 +0xef
created by net.newPollServer
        /home/minux/s/go/go.hg/src/pkg/net/newpollserver_unix.go:33 +0x367

Status changed to Accepted.

@davecheney

This comment has been minimized.

Copy link
Contributor

commented Nov 27, 2012

Comment 2:

Confirmed, darwin/amd64
=== RUN TestAddFDReturnsError-85
^\SIGQUIT: quit
pc: 0xfb390
syscall.Syscall6()
    /Users/dfc/go/src/pkg/syscall/asm_darwin_amd64.s:48 +0x30
syscall.kevent(0x6, 0x0, 0x0, 0xc20009f008, 0xa, ...)
    /Users/dfc/go/src/pkg/syscall/zsyscall_darwin_amd64.go:199 +0x86
syscall.Kevent(0x6, 0x0, 0x0, 0x0, 0xc20009f008, ...)
    /Users/dfc/go/src/pkg/syscall/syscall_bsd.go:551 +0x9b
net.(*pollster).WaitFD(0xc20009f000, 0xc200088d20, 0x0, 0x0, 0x0, ...)
    /Users/dfc/go/src/pkg/net/fd_darwin.go:96 +0x178
net.(*pollServer).Run(0xc200088d20, 0x0)
    /Users/dfc/go/src/pkg/net/fd_unix.go:209 +0xef
created by net.newPollServer
    /Users/dfc/go/src/pkg/net/newpollserver_unix.go:33 +0x367
goroutine 1 [chan receive]:
testing.RunTests(0x2000, 0x2ef978, 0x55, 0x55, 0xc20008a001, ...)
    /Users/dfc/go/src/pkg/testing/testing.go:378 +0x891
testing.Main(0x2000, 0x2ef978, 0x55, 0x55, 0x2e8028, ...)
    /Users/dfc/go/src/pkg/testing/testing.go:313 +0x8a
main.main()
    net/_test/_testmain.go:221 +0x9a
goroutine 2 [syscall]:
created by runtime.main
    /Users/dfc/go/src/pkg/runtime/proc.c:225
goroutine 17 [chan receive]:
net.(*pollServer).WaitRead(0xc2000cd060, 0xc200119e40, 0xc200088540, 0x23,
0xffffffffffffff01, ...)
    /Users/dfc/go/src/pkg/net/fd_unix.go:241 +0x63
net.(*netFD).Read(0xc200119e40, 0xc20008a430, 0x1, 0x1, 0x0, ...)
    /Users/dfc/go/src/pkg/net/fd_unix.go:430 +0x34c
net.(*conn).Read(0xc20008a450, 0xc20008a430, 0x1, 0x1, 0xc2000b9000, ...)
    /Users/dfc/go/src/pkg/net/net.go:121 +0xd3
net.TestAddFDReturnsError(0xc200100f30, 0x155384cd)
    /Users/dfc/go/src/pkg/net/fd_unix_test.go:47 +0x42c
testing.tRunner(0xc200100f30, 0x2efa50, 0x0, 0x0)
    /Users/dfc/go/src/pkg/testing/testing.go:301 +0x6c
created by testing.RunTests
    /Users/dfc/go/src/pkg/testing/testing.go:377 +0x86e
goroutine 11 [syscall]:
syscall.Syscall6()
    /Users/dfc/go/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.kevent(0xb, 0x0, 0x0, 0xc20009f188, 0xa, ...)
    /Users/dfc/go/src/pkg/syscall/zsyscall_darwin_amd64.go:199 +0x86
syscall.Kevent(0xb, 0x0, 0x0, 0x0, 0xc20009f188, ...)
    /Users/dfc/go/src/pkg/syscall/syscall_bsd.go:551 +0x9b
net.(*pollster).WaitFD(0xc20009f180, 0xc2000cdae0, 0x0, 0x0, 0x0, ...)
    /Users/dfc/go/src/pkg/net/fd_darwin.go:96 +0x178
net.(*pollServer).Run(0xc2000cdae0, 0x0)
    /Users/dfc/go/src/pkg/net/fd_unix.go:209 +0xef
created by net.newPollServer
    /Users/dfc/go/src/pkg/net/newpollserver_unix.go:33 +0x367
goroutine 6 [timer goroutine (idle)]:
created by addtimer
    /Users/dfc/go/src/pkg/runtime/ztime_darwin_amd64.c:73
goroutine 18 [chan receive]:
net.(*pollServer).WaitRead(0xc2000cdae0, 0xc200119f00, 0xc200088540, 0x23, 0xc200088501,
...)
    /Users/dfc/go/src/pkg/net/fd_unix.go:241 +0x63
net.(*netFD).accept(0xc200119f00, 0x4f6c0, 0x0, 0xc200088540, 0x23, ...)
    /Users/dfc/go/src/pkg/net/fd_unix.go:633 +0x194
net.(*TCPListener).AcceptTCP(0xc20008a4a0, 0xc20008a2c0, 0x0, 0x0, 0x18, ...)
    /Users/dfc/go/src/pkg/net/tcpsock_posix.go:237 +0x62
net.(*TCPListener).Accept(0xc20008a4a0, 0x0, 0x0, 0x0, 0x0, ...)
    /Users/dfc/go/src/pkg/net/tcpsock_posix.go:247 +0x49
net.func·025(0xc2000b7010, 0x0)
    /Users/dfc/go/src/pkg/net/fd_unix_test.go:24 +0x2d
created by net.TestAddFDReturnsError
    /Users/dfc/go/src/pkg/net/fd_unix_test.go:30 +0x173
goroutine 19 [syscall]:
syscall.Syscall6()
    /Users/dfc/go/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.kevent(0x10, 0x0, 0x0, 0xc20009fd88, 0xa, ...)
    /Users/dfc/go/src/pkg/syscall/zsyscall_darwin_amd64.go:199 +0x86
syscall.Kevent(0x10, 0x0, 0x0, 0x0, 0xc20009fd88, ...)
    /Users/dfc/go/src/pkg/syscall/syscall_bsd.go:551 +0x9b
net.(*pollster).WaitFD(0xc20009fd80, 0xc2000cd060, 0x0, 0x0, 0x0, ...)
    /Users/dfc/go/src/pkg/net/fd_darwin.go:96 +0x178
net.(*pollServer).Run(0xc2000cd060, 0x0)
    /Users/dfc/go/src/pkg/net/fd_unix.go:209 +0xef
created by net.newPollServer
    /Users/dfc/go/src/pkg/net/newpollserver_unix.go:33 +0x367
goroutine 20 [syscall]:
syscall.Syscall6()
    /Users/dfc/go/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.kevent(0x10, 0x0, 0x0, 0xc2000ef008, 0xa, ...)
    /Users/dfc/go/src/pkg/syscall/zsyscall_darwin_amd64.go:199 +0x86
syscall.Kevent(0x10, 0x0, 0x0, 0x0, 0xc2000ef008, ...)
    /Users/dfc/go/src/pkg/syscall/syscall_bsd.go:551 +0x9b
net.(*pollster).WaitFD(0xc2000ef000, 0xc2000cd510, 0x0, 0x320, 0x320, ...)
    /Users/dfc/go/src/pkg/net/fd_darwin.go:96 +0x178
net.(*pollServer).Run(0xc2000cd510, 0x0)
    /Users/dfc/go/src/pkg/net/fd_unix.go:209 +0xef
created by net.newPollServer
    /Users/dfc/go/src/pkg/net/newpollserver_unix.go:33 +0x367
@davecheney

This comment has been minimized.

Copy link
Contributor

commented Nov 27, 2012

Comment 3:

Ahh, this looks familiar
--- FAIL: TestAddFDReturnsError-95 (0.00 seconds)
fd_unix_test.go:26:     accept tcp 127.0.0.1:59525: use of closed network connection

Owner changed to @davecheney.

@davecheney

This comment has been minimized.

Copy link
Contributor

commented Nov 27, 2012

Comment 4:

http://golang.org/cl/6854102/ has been reviewed favourably, I will submit it
today.
@davecheney

This comment has been minimized.

Copy link
Contributor

commented Nov 27, 2012

Comment 5:

This issue was closed by revision d244dd0.

Status changed to Fixed.

@alberts alberts added fixed labels Nov 27, 2012

@rsc rsc added this to the Go1.1 milestone Apr 14, 2015

@rsc rsc removed the go1.1 label Apr 14, 2015

@golang golang locked and limited conversation to collaborators Jun 24, 2016

This issue was closed.

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