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

x/tools/internal/jsonrpc2_v2: test failures with "goroutine leak detected" #46047

Closed
dmitshur opened this issue May 7, 2021 · 27 comments
Closed
Assignees
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented May 7, 2021

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`

Observed the following test failure on a openbsd-amd64-68 TryBot in https://go-review.googlesource.com/c/tools/+/313097/7#message-05b2ee7a7f430f763806057296bde561b9777f07:

--- FAIL: TestIdleTimeout (2.10s)
    serve_test.go:38: dial tcp 127.0.0.1:1954: connect: connection reset by peer
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $101
        /tmp/workdir/go/src/runtime/netpoll.go:229:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:56:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
        /tmp/workdir/go/src/bufio/bufio.go:101:                                       (*Reader).fill
        /tmp/workdir/go/src/bufio/bufio.go:360:                                       (*Reader).ReadSlice
        /tmp/workdir/go/src/bufio/bufio.go:435:                                       (*Reader).collectFragments
        /tmp/workdir/go/src/bufio/bufio.go:483:                                       (*Reader).ReadString
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/frame.go:122: (*headerReader).Read
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:294:  (*Connection).readIncoming
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:112:  newConnection
        
        [IO wait]: $125
        /tmp/workdir/go/src/runtime/netpoll.go:229:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:56:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:187: (*idleCloser).Read
        /tmp/workdir/go/src/bufio/bufio.go:101:                                       (*Reader).fill
        /tmp/workdir/go/src/bufio/bufio.go:360:                                       (*Reader).ReadSlice
        /tmp/workdir/go/src/bufio/bufio.go:435:                                       (*Reader).collectFragments
        /tmp/workdir/go/src/bufio/bufio.go:483:                                       (*Reader).ReadString
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/frame.go:122: (*headerReader).Read
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:294:  (*Connection).readIncoming
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:112:  newConnection
        
        [chan receive]: $102, $126
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:363: (*Connection).manageQueue
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:113: newConnection
        
        [chan receive]: $103, $127
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:398: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection
        
        [chan receive]: $123
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:81: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:269:    (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:113:   (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:70:    Serve
        
        7 goroutines, 5 unique
FAIL
FAIL	golang.org/x/tools/internal/jsonrpc2_v2	2.472s

https://storage.googleapis.com/go-build-log/af6123a8/openbsd-amd64-68_8cf10eb0.log

It did not recur after restarting TryBots a second time. I'm not finding many other instances of this on the build dashboard, so it looks like a rare failure. Reporting in case this is helpful.

CC @ianthehat.

@dmitshur dmitshur added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Tools This label describes issues relating to any tools in the x/tools repository. labels May 7, 2021
@dmitshur dmitshur added this to the Backlog milestone May 7, 2021
@bcmills
Copy link
Contributor

bcmills commented Oct 4, 2021

@bcmills bcmills changed the title x/tools/internal/jsonrpc2_v2: TestIdleTimeout failed with "goroutine leak detected" on openbsd-amd64-68 once x/tools/internal/jsonrpc2_v2: TestIdleTimeout failures with "goroutine leak detected" on openbsd-amd64-68 Oct 4, 2021
@bcmills bcmills changed the title x/tools/internal/jsonrpc2_v2: TestIdleTimeout failures with "goroutine leak detected" on openbsd-amd64-68 x/tools/internal/jsonrpc2_v2: TestIdleTimeout failures with "goroutine leak detected" Oct 4, 2021
@gopherbot
Copy link

Change https://go.dev/cl/388598 mentions this issue: internal/jsonrpc2_v2: eliminate arbitrary timeouts in tests

@gopherbot
Copy link

Change https://go.dev/cl/388597 mentions this issue: internal/jsonrpc2_v2: refactor concurrency in idleListener

@gopherbot
Copy link

Change https://go.dev/cl/388599 mentions this issue: internal/jsonrpc2_v2: close the underlying connection if Wait is called instead of Close

@gopherbot
Copy link

Change https://go.dev/cl/388774 mentions this issue: internal/jsonrpc2_v2: eliminate a temporary connection leak in (*Server).run

@gopherbot
Copy link

Change https://go.dev/cl/388775 mentions this issue: internal/jsonrpc2_v2: error out in-flight client calls when the reader breaks

@bcmills bcmills self-assigned this Mar 2, 2022
@cherrymui
Copy link
Member

2022-07-25T14:31:12-6ec939a-64f2829/openbsd-386-68
2022-07-21T22:58:07-ec1f924-076c3d7/openbsd-amd64-68
This is in TestServe but the failure is quite similar

--- FAIL: TestServe (1.24s)
    --- FAIL: TestServe/tcp (0.12s)
        serve_test.go:137: close tcp 127.0.0.1:40864: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $221
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
        /tmp/workdir/go/src/bufio/bufio.go:106:                                       (*Reader).fill
        /tmp/workdir/go/src/bufio/bufio.go:372:                                       (*Reader).ReadSlice
        /tmp/workdir/go/src/bufio/bufio.go:447:                                       (*Reader).collectFragments
        /tmp/workdir/go/src/bufio/bufio.go:495:                                       (*Reader).ReadString
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/frame.go:120: (*headerReader).Read
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:295:  (*Connection).readIncoming
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:112:  newConnection
        
        [IO wait]: $112
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:204: (*idleCloser).Read
        /tmp/workdir/go/src/bufio/bufio.go:106:                                       (*Reader).fill
        /tmp/workdir/go/src/bufio/bufio.go:372:                                       (*Reader).ReadSlice
        /tmp/workdir/go/src/bufio/bufio.go:447:                                       (*Reader).collectFragments
        /tmp/workdir/go/src/bufio/bufio.go:495:                                       (*Reader).ReadString
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/frame.go:120: (*headerReader).Read
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:295:  (*Connection).readIncoming
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:112:  newConnection
        
        [chan receive]: $113, $222
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:364: (*Connection).manageQueue
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:113: newConnection
        
        [chan receive]: $226, $223
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection
        
        [chan receive]: $219
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve
        
        7 goroutines, 5 unique
FAIL
FAIL	golang.org/x/tools/internal/jsonrpc2_v2	1.821s

@dmitshur dmitshur changed the title x/tools/internal/jsonrpc2_v2: TestIdleTimeout failures with "goroutine leak detected" x/tools/internal/jsonrpc2_v2: TestServe, TestIdleTimeout failures with "goroutine leak detected" Aug 4, 2022
@mknyszek
Copy link
Contributor

mknyszek commented Sep 6, 2022

@rsc rsc changed the title x/tools/internal/jsonrpc2_v2: TestServe, TestIdleTimeout failures with "goroutine leak detected" x/tools/internal/jsonrpc2_v2: test failures with "goroutine leak detected" Sep 20, 2022
@gopherbot
Copy link

Found new matching dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-07-14 01:47 openbsd-386-68 tools@db8f89b3 go@a906d3dd x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.28s)
    --- FAIL: TestServe/tcp (0.10s)
        serve_test.go:137: close tcp 127.0.0.1:17864: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $197
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $30
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-07-14 01:47 openbsd-386-68 tools@db8f89b3 go@88a06f40 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.54s)
    serve_test.go:38: dial tcp 127.0.0.1:38240: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $118
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        [chan receive]: $120
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan send]: $208
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:242: (*idleListener).Accept
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:90:  (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:  Serve

        4 goroutines, 4 unique
2022-07-14 01:47 openbsd-amd64-70 tools@db8f89b3 go@783ff7df x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.36s)
    --- FAIL: TestServe/tcp (0.15s)
        serve_test.go:137: close tcp 127.0.0.1:21044: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $211
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $144
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-07-15 14:27 openbsd-386-68 tools@1a4e02fe go@88a06f40 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.73s)
    --- FAIL: TestServe/tcp (0.20s)
        serve_test.go:137: close tcp 127.0.0.1:26211: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $229
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $227
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-07-20 19:56 openbsd-amd64-68 tools@ec1f9244 go@076c3d7f x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.30s)
    --- FAIL: TestServe/tcp (0.12s)
        serve_test.go:137: close tcp 127.0.0.1:45900: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $188
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $214
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-07-25 14:31 openbsd-386-68 tools@6ec939a6 go@64f2829c x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.24s)
    --- FAIL: TestServe/tcp (0.12s)
        serve_test.go:137: close tcp 127.0.0.1:40864: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $221
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $219
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-07-27 16:29 openbsd-386-68 tools@b3b5c13b go@ed50277f x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.25s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:29771->127.0.0.1:17026: read: connection reset by peer
    stacktest.go:48: goroutine leak detected:
        [chan send]: $182
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:242: (*idleListener).Accept
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:90:  (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:  Serve

        1 goroutines, 1 unique
2022-08-03 12:09 openbsd-386-68 tools@ddb90ecd go@29b9a328 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.55s)
    serve_test.go:38: dial tcp 127.0.0.1:37671: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $223
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $47
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-03 12:09 openbsd-386-70 tools@ddb90ecd go@fcdd099a x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.78s)
    --- FAIL: TestServe/tcp (0.49s)
        serve_test.go:137: close tcp 127.0.0.1:23592: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $121
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $119
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-03 18:07 openbsd-386-68 tools@d08f5dc9 go@f28fa952 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.43s)
    --- FAIL: TestServe/tcp (0.12s)
        serve_test.go:137: close tcp 127.0.0.1:30755: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $262
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $260
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-04 20:04 openbsd-386-68 tools@af2a0a81 go@fcdd099a x/tools/internal/jsonrpc2_v2.TestConnectionRaw (log)
--- FAIL: TestConnectionRaw (1.20s)
    eventtest.go:60: start: no_args {775e971242a5c7001af2321bd164df67 9f49534e38cd7477}
    eventtest.go:60: finish: no_args {775e971242a5c7001af2321bd164df67 9f49534e38cd7477}
    eventtest.go:60: start: one_string {06ddcfc245beeee56fe3ce2dc4a25751 4d6f4b1935f2f840}
    eventtest.go:60: finish: one_string {06ddcfc245beeee56fe3ce2dc4a25751 4d6f4b1935f2f840}
    eventtest.go:60: start: one_number {f5b3ba844f31b20f14239f573b8e3181 fb9443e431177d0a}
    eventtest.go:60: finish: one_number {f5b3ba844f31b20f14239f573b8e3181 fb9443e431177d0a}
    eventtest.go:60: start: join {8f44f06044957eb7f2379c97bf17cb62 a9ba3baf2e3c01d4}
    eventtest.go:60: finish: join {8f44f06044957eb7f2379c97bf17cb62 a9ba3baf2e3c01d4}
    eventtest.go:60: start: set {542303cd743795c117688e49b7fa91f1 2ef3afdfa9734782}
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/event/export/eventtest/eventtest.go:60: (*testExporter).processEvent
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/event/export/trace.go:84:               Spans.func1
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/event/core/export.go:45:                deliver
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/event/core/export.go:69:                ExportPair.func2
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:475:                (*Connection).respond
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:249:                (*Connection).Respond
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2_test.go:385:       (*handler).Handle.func1
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2_test.go:382:       (*handler).Handle

        1 goroutines, 1 unique
2022-08-10 17:41 openbsd-386-68 tools@0ad49fde go@d4280fda x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.33s)
    stacktest.go:48: goroutine leak detected:
        [runnable]: $18
        /tmp/workdir/go/src/runtime/sys_openbsd3.go:24:          syscall
        /tmp/workdir/go/src/syscall/zsyscall_openbsd_386.go:512: Close
        /tmp/workdir/go/src/internal/poll/fd_unix.go:84:         (*FD).destroy
        /tmp/workdir/go/src/internal/poll/fd_mutex.go:213:       (*FD).decref
        /tmp/workdir/go/src/internal/poll/fd_unix.go:107:        (*FD).Close
        /tmp/workdir/go/src/net/fd_posix.go:37:                  (*netFD).Close

        1 goroutines, 1 unique
2022-08-11 16:19 openbsd-386-68 tools@37a81b68 go@133c0e90 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.20s)
    serve_test.go:38: dial tcp 127.0.0.1:34338: connect: connection reset by peer
    stacktest.go:48: goroutine leak detected:
        [chan send]: $119
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:242: (*idleListener).Accept
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:90:  (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:  Serve

        1 goroutines, 1 unique
2022-08-11 18:06 openbsd-386-68 tools@c4ec74a5 go@9e4638ad x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.55s)
    serve_test.go:38: dial tcp 127.0.0.1:25239: connect: connection reset by peer
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $107
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $105
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-12 22:57 openbsd-386-70 tools@35f806b1 go@59865f14 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.50s)
    --- FAIL: TestServe/tcp (0.17s)
        serve_test.go:137: close tcp 127.0.0.1:8005: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $247
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $245
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-15 19:50 openbsd-386-68 tools@e8507bed go@7b45edb4 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.58s)
    serve_test.go:38: dial tcp 127.0.0.1:24300: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $210
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $112
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-15 20:02 openbsd-386-70 tools@938e162b go@f80b1266 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.25s)
    --- FAIL: TestServe/tcp (0.12s)
        serve_test.go:137: close tcp 127.0.0.1:6489: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $231
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $229
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-26 17:59 openbsd-386-68 tools@717a6716 go@a1c9783c x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.96s)
    --- FAIL: TestServe/tcp (0.25s)
        serve_test.go:137: close tcp 127.0.0.1:42277: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $233
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $231
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-26 17:59 openbsd-386-68 tools@717a6716 go@7f92ccea x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.59s)
    --- FAIL: TestServe/tcp (0.19s)
        serve_test.go:137: close tcp 127.0.0.1:41710: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $263
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $261
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-29 18:21 openbsd-386-68 tools@248c34b8 go@ddc93a53 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.29s)
    --- FAIL: TestServe/tcp (0.27s)
        serve_test.go:137: close tcp 127.0.0.1:27746: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $128
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $126
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-08-31 21:10 openbsd-amd64-70 tools@550e1f5a go@86e9e0ea x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.60s)
    --- FAIL: TestServe/tcp (0.30s)
        serve_test.go:137: close tcp 127.0.0.1:33286: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $76
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $244
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-02 00:49 openbsd-386-68 tools@33c1ddd5 go@ec2ea40b x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.36s)
    serve_test.go:38: dial tcp 127.0.0.1:15514: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $210
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $176
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-02 00:49 openbsd-386-70 tools@33c1ddd5 go@6b555dc2 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.51s)
    --- FAIL: TestServe/tcp (0.12s)
        serve_test.go:137: close tcp 127.0.0.1:12373: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $160
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $218
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-02 18:17 linux-amd64-wsl tools@5ba85415 go@0cf996a9 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (3.22s)
    stacktest.go:48: goroutine leak detected:
        [runnable]: $210
        /tmp/workdir-host-linux-amd64-wsl/go/src/runtime/sema.go:67:                                       runtime_Semacquire
        /tmp/workdir-host-linux-amd64-wsl/go/src/internal/poll/fd_unix.go:116:                             (*FD).Close
        /tmp/workdir-host-linux-amd64-wsl/go/src/net/fd_posix.go:37:                                       (*netFD).Close
        /tmp/workdir-host-linux-amd64-wsl/go/src/net/tcpsock_posix.go:159:                                 (*TCPListener).close
        /tmp/workdir-host-linux-amd64-wsl/go/src/net/tcpsock.go:301:                                       (*TCPListener).Close
        /tmp/workdir-host-linux-amd64-wsl/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/net.go:47:    (*netListener).Close
        /tmp/workdir-host-linux-amd64-wsl/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:276: (*idleListener).run
        /tmp/workdir-host-linux-amd64-wsl/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:184: NewIdleListener

        1 goroutines, 1 unique
2022-09-02 19:58 openbsd-386-70 tools@d815cba5 go@2392b706 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.51s)
    --- FAIL: TestServe/tcp (0.15s)
        serve_test.go:137: close tcp 127.0.0.1:13046: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $263
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $261
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-06 14:55 openbsd-386-70 tools@83d76192 go@88149ed4 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (2.80s)
    serve_test.go:38: dial tcp 127.0.0.1:16073: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $226
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $224
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-07 17:33 openbsd-amd64-68 tools@5f27e050 go@dfdf5515 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.54s)
    --- FAIL: TestServe/tcp (0.38s)
        serve_test.go:137: close tcp 127.0.0.1:9128: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $221
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $219
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-07 22:05 linux-s390x-ibm tools@a6307518 go@29604312 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.27s)
    --- FAIL: TestServe/tcp (0.15s)
        serve_test.go:137: close tcp 127.0.0.1:38903: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $245
        /data/golang/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /data/golang/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /data/golang/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /data/golang/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /data/golang/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $243
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-13 15:21 openbsd-386-70 tools@9250e22a go@585c4386 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.51s)
    --- FAIL: TestServe/tcp (0.15s)
        serve_test.go:137: close tcp 127.0.0.1:25190: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $232
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $253
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-15 19:17 openbsd-386-70 tools@cdd69867 go@5231ba2f x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.16s)
    serve_test.go:38: dial tcp 127.0.0.1:42154: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $199
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        [chan receive]: $210
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan send]: $197
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:242: (*idleListener).Accept
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:90:  (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:  Serve

        4 goroutines, 4 unique
2022-09-19 18:40 openbsd-386-68 tools@15782446 go@31d06b58 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.59s)
    --- FAIL: TestServe/tcp (0.19s)
        serve_test.go:137: close tcp 127.0.0.1:11325: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $247
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $245
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-09-20 12:41 openbsd-amd64-70 tools@f9016238 go@bcd44b61 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.71s)
    serve_test.go:38: dial tcp 127.0.0.1:40119: connect: connection reset by peer
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $189
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $95
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-20 17:54 openbsd-386-70 tools@00ae48ef go@225bcec9 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.48s)
    --- FAIL: TestServe/tcp (0.24s)
        serve_test.go:137: close tcp 127.0.0.1:5954: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $121
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $233
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-09-21 16:48 linux-s390x-ibm tools@2f047133 go@2614985e x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.30s)
    --- FAIL: TestServe/tcp (0.20s)
        serve_test.go:137: close tcp 127.0.0.1:41957: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $110
        /data/golang/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /data/golang/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /data/golang/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /data/golang/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /data/golang/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $219
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-09-23 16:53 openbsd-386-70 tools@eb25de6e go@336ce966 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.43s)
    --- FAIL: TestServe/tcp (0.27s)
        serve_test.go:137: close tcp 127.0.0.1:14116: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $246
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $262
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-26 21:05 openbsd-386-70 tools@1bfc4699 go@2b9596cb x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.62s)
    --- FAIL: TestServe/tcp (0.11s)
        serve_test.go:137: close tcp 127.0.0.1:6084: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $54
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $248
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-26 22:21 openbsd-386-68 tools@eb45e986 go@b0f8e20d x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.46s)
    --- FAIL: TestServe/tcp (0.17s)
        serve_test.go:137: close tcp 127.0.0.1:43101: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $78
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $242
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-09-28 16:54 openbsd-386-68 tools@bddb3720 go@9d2c73a9 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.64s)
    --- FAIL: TestServe/tcp (0.49s)
        serve_test.go:137: close tcp 127.0.0.1:46138: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $208
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $261
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-09-28 19:25 openbsd-386-68 tools@a4274a8a go@dbf174d4 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.69s)
    stacktest.go:48: goroutine leak detected:
        [runnable]: $132
        /tmp/workdir/go/src/runtime/sema.go:67:                                       runtime_Semacquire
        /tmp/workdir/go/src/internal/poll/fd_unix.go:116:                             (*FD).Close
        /tmp/workdir/go/src/net/fd_posix.go:37:                                       (*netFD).Close
        /tmp/workdir/go/src/net/tcpsock_posix.go:159:                                 (*TCPListener).close
        /tmp/workdir/go/src/net/tcpsock.go:301:                                       (*TCPListener).Close
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/net.go:47:    (*netListener).Close
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:276: (*idleListener).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:184: NewIdleListener

        1 goroutines, 1 unique
2022-09-28 21:54 dragonfly-amd64-622 tools@3db607bf go@8c29881d x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.50s)
    --- FAIL: TestServe/tcp (0.18s)
        serve_test.go:137: close tcp 127.0.0.1:52312: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $242
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $141
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-30 17:40 freebsd-amd64-13_0 tools@ed98f10c go@9d2c73a9 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.40s)
    --- FAIL: TestServe/tcp (0.18s)
        serve_test.go:137: close tcp 127.0.0.1:51129: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $231
        /tmp/workdir/go/src/runtime/netpoll.go:302:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:83:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:88:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $229
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-09-30 19:58 openbsd-386-68 tools@3e0355b8 go@aeab76f0 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.59s)
    --- FAIL: TestServe/tcp (0.23s)
        serve_test.go:137: close tcp 127.0.0.1:22946: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $230
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $93
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-10-05 17:59 openbsd-386-68 tools@c5514b75 go@89566448 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.66s)
    --- FAIL: TestServe/tcp (0.16s)
        serve_test.go:137: close tcp 127.0.0.1:37990: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $245
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $243
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-10-06 14:25 openbsd-386-68 tools@bd8c28ff go@947091d3 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.68s)
    serve_test.go:38: dial tcp 127.0.0.1:16450: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [chan send]: $111
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:242: (*idleListener).Accept
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:90:  (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:  Serve

        1 goroutines, 1 unique
2022-10-06 14:25 openbsd-amd64-68 tools@bd8c28ff go@89566448 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.32s)
    serve_test.go:38: dial tcp 127.0.0.1:4905: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $222
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $220
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-10-06 21:06 linux-ppc64-buildlet tools@778f9457 go@515e3de2 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.46s)
    --- FAIL: TestServe/tcp (0.13s)
        serve_test.go:137: close tcp 127.0.0.1:41698: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $194
        /workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $241
        /workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-10-06 21:06 linux-s390x-ibm tools@778f9457 go@d0b0b10b x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.57s)
    serve_test.go:38: dial tcp 127.0.0.1:37249: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $108
        /data/golang/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /data/golang/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /data/golang/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /data/golang/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /data/golang/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /data/golang/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $103
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-10-06 21:06 openbsd-386-70 tools@778f9457 go@89566448 x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.43s)
    --- FAIL: TestServe/tcp (0.18s)
        serve_test.go:137: close tcp 127.0.0.1:20711: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $244
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $235
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique
2022-10-12 18:24 linux-s390x-ibm tools@d3752388 go@19095e10 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (2.48s)
    stacktest.go:48: goroutine leak detected:
        [runnable]: $97
        /data/golang/workdir/go/src/runtime/sema.go:67:                                       runtime_Semacquire
        /data/golang/workdir/go/src/internal/poll/fd_unix.go:116:                             (*FD).Close
        /data/golang/workdir/go/src/net/fd_posix.go:37:                                       (*netFD).Close
        /data/golang/workdir/go/src/net/tcpsock_posix.go:159:                                 (*TCPListener).close
        /data/golang/workdir/go/src/net/tcpsock.go:301:                                       (*TCPListener).Close
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/net.go:47:    (*netListener).Close
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:276: (*idleListener).run
        /data/golang/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:184: NewIdleListener

        1 goroutines, 1 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-10-13 16:31 openbsd-386-68 tools@f87c1ed9 go@89566448 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (1.89s)
    serve_test.go:38: dial tcp 127.0.0.1:2856: connect: connection refused
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $180
        /tmp/workdir/go/src/runtime/netpoll.go:305:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
        /tmp/workdir/go/src/net/net.go:183:                                           (*conn).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $150
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-10-13 17:41 dragonfly-amd64-622 tools@ffb862b5 go@1ef685fb x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.38s)
    --- FAIL: TestServe/tcp (0.18s)
        serve_test.go:137: close tcp 127.0.0.1:50824: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $229
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $253
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-10-15 19:01 openbsd-386-68 tools@9b5e55b1 go@61f0409c x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.93s)
    --- FAIL: TestServe/tcp (0.32s)
        serve_test.go:137: close tcp 127.0.0.1:37090: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $202
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $200
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-10-17 12:57 openbsd-386-70 tools@b93a56f2 go@3d92205e x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.70s)
    --- FAIL: TestServe/tcp (0.39s)
        serve_test.go:137: close tcp 127.0.0.1:40669: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $258
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $241
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

@gopherbot
Copy link

Change https://go.dev/cl/443355 mentions this issue: internal/jsonrpc2_v2: remove “Box” suffix from channel field names

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-10-15 19:01 dragonfly-amd64-622 tools@9b5e55b1 go@61f0409c x/tools/internal/jsonrpc2_v2.TestServe (log)
--- FAIL: TestServe (1.55s)
    --- FAIL: TestServe/tcp (0.26s)
        serve_test.go:137: close tcp 127.0.0.1:64360: use of closed network connection
    stacktest.go:48: goroutine leak detected:
        [IO wait]: $246
        /tmp/workdir/go/src/runtime/netpoll.go:306:                                   runtime_pollWait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:84:                      (*pollDesc).wait
        /tmp/workdir/go/src/internal/poll/fd_poll_runtime.go:89:                      (*pollDesc).waitRead
        /tmp/workdir/go/src/internal/poll/fd_unix.go:167:                             (*FD).Read
        /tmp/workdir/go/src/net/fd_posix.go:55:                                       (*netFD).Read
...
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:399: (*Connection).deliverMessages
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:114: newConnection

        [chan receive]: $244
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2.go:113: (*async).wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:270:     (*Connection).Wait
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:115:    (*Server).run
        /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/serve.go:72:     Serve

        7 goroutines, 5 unique

watchflakes

gopherbot pushed a commit to golang/tools that referenced this issue Oct 17, 2022
…ed instead of Close

(*Server).run calls Wait on all of its connections before returning,
but does not call Close explicitly. If Close is necessary to
release resources (as is often the case for a net.Conn),
the server ends up leaking resources.

For golang/go#46047

Change-Id: I4ad048c4f5e5d3f14f992eee6388acd42398c26b
Reviewed-on: https://go-review.googlesource.com/c/tools/+/388599
TryBot-Result: Gopher Robot <gobot@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
gopherbot pushed a commit to golang/tools that referenced this issue Oct 17, 2022
…r breaks

Otherwise, the Await method on the corresponding AsyncCall will never
unblock, leading to a deadlock (detected by the test changes in
CL 388597).

For golang/go#46047
For golang/go#46520
For golang/go#49387

Change-Id: I7954f80786059772ddd7f8c98d8752d56d074919
Reviewed-on: https://go-review.googlesource.com/c/tools/+/388775
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopherbot pushed a commit to golang/tools that referenced this issue Oct 17, 2022
With the suffixes I end up a little lost in the “box” noise while I'm
reading — the channel ops alone suffice to make the storage mechanism
clear.

(To me, the mechanism of storing a value in a 1-buffered channel is
conceptually similar to storing it in a pointer, atomic.Pointer, or
similar — and we don't generally name those with a suffix either.)

For golang/go#46047.
For golang/go#46520.
For golang/go#49387.

Change-Id: I7f58a9ac532f597fe49ed70606d89bd8cbe33b55
Reviewed-on: https://go-review.googlesource.com/c/tools/+/443355
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
gopherbot pushed a commit to golang/tools that referenced this issue Oct 17, 2022
For golang/go#46047
For golang/go#49387
For golang/go#46520

Change-Id: Ib72863a024d74f45c70a6cb53482cb606510f7e4
Reviewed-on: https://go-review.googlesource.com/c/tools/+/388598
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
gopherbot pushed a commit to golang/tools that referenced this issue Oct 31, 2022
…er).run

Prior to this CL, (*Server).run only filters out inactive connections
when it accepts a new connection. If existing connections complete,
their associated resources can't be garbage-collected until either the
next connection is accepted or the Listener is closed.

This change moves the open-connection accounting to an explicit hook
passed to newConnection, eliminating the need to call Wait entirely.

For golang/go#46047

Change-Id: I3732cb463fcea0c142f17f2b1510fdfd2dbc81da
Reviewed-on: https://go-review.googlesource.com/c/tools/+/388774
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
@gopherbot gopherbot reopened this Nov 4, 2022
@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-11-01 21:03 darwin-amd64-12_0 tools@32e1cb7a go@a5b4283d x/tools/internal/jsonrpc2_v2.TestConnectionHeader (log)
--- FAIL: TestConnectionHeader (1.28s)
    eventtest.go:60: start: no_args {7e536a54591c5a9cd97370534df84813 58f0480775440f1b}
    eventtest.go:60: finish: no_args {7e536a54591c5a9cd97370534df84813 58f0480775440f1b}
    eventtest.go:60: start: one_string {c68d78965eefac83759b53f14c9776ea 42a36bcb89b513a6}
    eventtest.go:60: finish: one_string {c68d78965eefac83759b53f14c9776ea 42a36bcb89b513a6}
    eventtest.go:60: start: one_number {2177455d6f9ab8de5f558616c2a39f5c 2c568e8f9e261831}
    eventtest.go:60: finish: one_number {2177455d6f9ab8de5f558616c2a39f5c 2c568e8f9e261831}
    eventtest.go:60: start: join {02402d43485502985721f7f7afef6ab0 1609b153b3971cbc}
    eventtest.go:60: finish: join {02402d43485502985721f7f7afef6ab0 1609b153b3971cbc}
    eventtest.go:60: start: set {ded0e7ef2768113d6925989899705029 00bcd317c8082147}
...
    eventtest.go:60: finish: fork {47e9ee6c8ef214dea8c6c8f5c144e50f 1c1ccff290c08239}
    eventtest.go:60: finish: fork {1275239ba1903a4b324fdce9a34e5af9 f081147bbaa28b4f}
    stacktest.go:48: goroutine leak detected:
        [runnable]: $159
        /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:368:          (*Connection).Wait
        /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:385:          (*Connection).Close
        /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2_test.go:156: testConnection.func2.1
        /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2_test.go:261: binder.Bind

        1 goroutines, 1 unique

watchflakes

@gopherbot
Copy link

Change https://go.dev/cl/448095 mentions this issue: internal/jsonrpc2_v2: fix a potential deadlock when (*Conn).Close is invoked during Bind

@gopherbot
Copy link

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `goroutine leak detected`
2022-11-09 13:30 netbsd-arm-bsiegert tools@30574650 go@3a410941 x/tools/internal/jsonrpc2_v2.TestConnectionHeader (log)
--- FAIL: TestConnectionHeader (1.43s)
    eventtest.go:60: start: no_args {219a4a74a287c03431bc39e13a7bf20e e1b6764e5fa2ab62}
    eventtest.go:60: finish: no_args {219a4a74a287c03431bc39e13a7bf20e e1b6764e5fa2ab62}
    eventtest.go:60: start: one_string {b308a7b9111d0f665841d5af25a2dd28 f37e57c7c99ec640}
    eventtest.go:60: finish: one_string {b308a7b9111d0f665841d5af25a2dd28 f37e57c7c99ec640}
    eventtest.go:60: start: one_number {ff442f48283d1035d01c69316c4c190c 05473840349be11e}
    eventtest.go:60: finish: one_number {ff442f48283d1035d01c69316c4c190c 05473840349be11e}
    eventtest.go:60: start: join {3498cd5f9b0c58c08bf8ad83a0435ac9 170f19b99e97fcfc}
    eventtest.go:60: finish: join {3498cd5f9b0c58c08bf8ad83a0435ac9 170f19b99e97fcfc}
    eventtest.go:60: start: set {d8cdbf5043409a1c7f93f74282d56381 29d7f931099417db}
...
    eventtest.go:60: finish: unblock {3074fa8332e27771d5160c432692d308 eb60edff6e3aba8b}
    eventtest.go:60: finish: fork {1cb99faed324037d3e54f9da5c08fe9c d9980c87043e9fad}
    stacktest.go:48: goroutine leak detected:
        [runnable]: $154
        /var/gobuilder/buildlet/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:461:          (*Connection).Wait
        /var/gobuilder/buildlet/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/conn.go:480:          (*Connection).Close
        /var/gobuilder/buildlet/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2_test.go:156: testConnection.func2.1
        /var/gobuilder/buildlet/gopath/src/golang.org/x/tools/internal/jsonrpc2_v2/jsonrpc2_test.go:261: binder.Bind

        1 goroutines, 1 unique

watchflakes

@bcmills
Copy link
Contributor

bcmills commented Nov 17, 2022

That last flake was just before https://go.dev/cl/448095, so this is still consistent with the problem being fixed by that CL.

@bcmills bcmills closed this as completed Nov 17, 2022
@dmitshur dmitshur added NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Nov 17, 2022
@dmitshur dmitshur modified the milestones: Backlog, Unreleased Nov 17, 2022
@golang golang locked and limited conversation to collaborators Nov 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
Status: Done
Development

No branches or pull requests

5 participants