Skip to content

net: dragonfly broken by Listen after close on same addr #13146

Closed
@bradfitz

Description

@bradfitz

I seem to have broken the dragonfly builder after:

syscall: allow nacl's fake network code to Listen twice on the same address
https://go-review.googlesource.com/16650 (rev 8ee90fa)

... which added a test to the net package, which dragonfly can't pass.

Failure is:

http://build.golang.org/log/732b7056b17948b06073dbe399de931765307152

--- FAIL: TestListenCloseListen (0.00s)
    net_test.go:283: failed on try 1/10: listen tcp 127.0.0.1:52085: bind: address already in use
    net_test.go:283: failed on try 2/10: listen tcp 127.0.0.1:52093: bind: address already in use
    net_test.go:283: failed on try 3/10: listen tcp 127.0.0.1:52101: bind: address already in use
    net_test.go:283: failed on try 4/10: listen tcp 127.0.0.1:52109: bind: address already in use
    net_test.go:283: failed on try 5/10: listen tcp 127.0.0.1:52117: bind: address already in use
FAIL
FAIL    net 4.894s

I see a recent failure: http://build.golang.org/log/c6e3c951e0398d21ff52b932bc261ab70003120b

--- FAIL: TestServerConnState (1.02s)
    serve_test.go:3041: Unexpected events.
        Got log: Conn 1: new active idle active closed 
        Conn 2: new active idle active 
        Conn 3: new active hijacked 
        Conn 4: new active hijacked 
        Conn 5: new closed 
        Conn 6: new active closed 
        Conn 7: new active idle closed 

           Want: Conn 1: new active idle active closed 
        Conn 2: new active idle active closed 
        Conn 3: new active hijacked 
        Conn 4: new active hijacked 
        Conn 5: new closed 
        Conn 6: new active closed 
        Conn 7: new active idle closed 

FAIL
FAIL    net/http    20.463s

... which suggests the net package, poller, or runtime are processing networking events in a different order than all the other platforms.

We also don't have a new-style builder for dragonfly, so people without dragonfly can't use gomote or trybots to debug.

I think a Dragonfly person needs to help.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions