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

Comments

Projects
None yet
4 participants
@rsc
Copy link
Contributor

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

This comment has been minimized.

Copy link

commented Sep 17, 2014

Comment 1:

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

commented Oct 1, 2014

Comment 5:

Labels changed: added repo-main.

@rsc rsc added accepted labels Oct 1, 2014

@mikioh mikioh closed this in 5a83f06 Apr 7, 2015

@mikioh mikioh added this to the Go1.5 milestone Apr 7, 2015

@mikioh mikioh removed the release-none label 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.
You can’t perform that action at this time.