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: TestDialMultiFDLeak is flaky on darwin #8764

Closed
rsc opened this issue Sep 17, 2014 · 5 comments
Closed

net: TestDialMultiFDLeak is flaky on darwin #8764

rsc opened this issue Sep 17, 2014 · 5 comments
Milestone

Comments

@rsc
Copy link
Contributor

rsc commented Sep 17, 2014

It is failing quite consistently (maybe 25% of the time) on OS X builders. Here's one.
http://build.golang.org/log/25c086232cf1db386eace9f6ff5060178ed86e78

--- FAIL: TestDialMultiFDLeak (0.41s)
    dial_test.go:409: tcp sessions: 4, open sessions: 4, closing sessions: 0
    dial_test.go:412: got 4 open sessions; expected 2
FAIL
FAIL    net 3.495s
@gopherbot
Copy link

Comment 1:

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

@mikioh
Copy link
Contributor

mikioh commented Sep 18, 2014

Comment 2:

didn't realize that darwin replaced conventional tcp_close with more fine-grained,
thread-aware, ip routing/packet path-aware and fast tcp_close, also they introduced
tcp_gc and some recycle mech., pretty interesting.
https://github.com/opensource-apple/xnu/blob/10.9/bsd/netinet/tcp_subr.c#L987

@mikioh
Copy link
Contributor

mikioh commented Sep 18, 2014

Comment 3:

for now (or until they've made this sort of features stable, well, i guess it's just for
mobile usecases and the journey will last a bit long time) skipping this test on darwin
makes sense.

@mikioh
Copy link
Contributor

mikioh commented Sep 18, 2014

Comment 4:

fwiw the purpose of TestDialMultiFDLeak is simply to verify the following codepath:
func dialMulti(...) {
        go func(ra Addr) {
                :
                } else if err == nil {
                                // We have to return the resources
                                // that belong to the other
                                // connections here for avoiding
                                // unnecessary resource starvation.
                                c.Close()
                }

@griesemer
Copy link
Contributor

Comment 5:

Labels changed: added repo-main.

@mikioh mikioh closed this as completed in 5a83f06 Apr 7, 2015
@mikioh mikioh added this to the Go1.5 milestone Apr 7, 2015
@golang golang locked and limited conversation to collaborators Jun 25, 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