go
                                
                                 go copied to clipboard
                                
                                    go copied to clipboard
                            
                            
                            
                        x/tools/internal/jsonrpc2_v2: test failures with "connection reset by peer"
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2021-05-20T18:25:17-2275bb5/darwin-amd64-10_12
--- FAIL: TestServe (0.29s)
    --- FAIL: TestServe/tcp (0.28s)
        serve_test.go:104: dial tcp 127.0.0.1:49317: connect: connection reset by peer
FAIL
FAIL	golang.org/x/tools/internal/jsonrpc2_v2	0.515s
2021-04-12T17:45:26-2140cce/openbsd-amd64-68
--- FAIL: TestIdleTimeout (0.20s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:25126->127.0.0.1:44239: read: connection reset by peer
FAIL
FAIL	golang.org/x/tools/internal/jsonrpc2_v2	0.532s
CC @ianthehat @findleyr
greplogs --dashboard -md -l -e '(?ms)connection reset by peer.*FAIL\s+golang\.org/x/tools/internal/jsonrpc2_v2' --since=2021-06-03
2021-10-04T20:57:50-db89b5a-e8a85e9/freebsd-amd64-race 2021-09-22T03:45:00-b98090b-051df0d/freebsd-386-11_4 2021-09-15T17:32:52-76d4494-6196979/freebsd-amd64-11_4 2021-09-11T04:35:30-915f620-170a72e/freebsd-amd64-11_2 2021-09-09T21:49:46-295a39b-21a4e67/openbsd-amd64-68 2021-08-03T20:45:05-2f64839-16ab7e4/illumos-amd64 2021-07-15T20:16:41-6e9046b-69728ea/openbsd-386-64
I don't think we're going to make progress on root causing these, but we can perhaps add a retry.
Change https://go.dev/cl/388134 mentions this issue: internal/jsonrpc_v2: rework Connection concurrency
Change https://go.dev/cl/388598 mentions this issue: internal/jsonrpc2_v2: eliminate arbitrary timeouts in tests
Change https://go.dev/cl/388594 mentions this issue: internal/jsonrpc2_v2: clarify documentation
Change https://go.dev/cl/388597 mentions this issue: internal/jsonrpc2_v2: refactor concurrency in idleListener
Change https://go.dev/cl/388600 mentions this issue: internal/lsp/protocol: avoid replying with non-nil interface values in case of error
Change https://go.dev/cl/388775 mentions this issue: internal/jsonrpc2_v2: error out in-flight client calls when the reader breaks
Change https://go.dev/cl/400054 mentions this issue: internal/lsp/protocol: ignore reply values with non-nil errors in jsonrpc2_v2 adapters
Found new matching dashboard test flakes for:
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2022-07-14 01:47 openbsd-386-68 tools@db8f89b3 go@558785a0 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.22s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:4019->127.0.0.1:26562: read: connection reset by peer
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-07-28 19:37 freebsd-amd64-race tools@d01bb2ff go@d9242f7a x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.24s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:47929->127.0.0.1:47927: read: connection reset by peer
2022-08-03 20:00 openbsd-386-70 tools@371fc67d go@43456202 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.24s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:44270->127.0.0.1:30055: read: connection reset by peer
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-09-07 22:05 openbsd-amd64-70 tools@a6307518 go@2b6ff908 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.25s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:27484->127.0.0.1:42017: read: connection reset by peer
2022-09-11 21:08 openbsd-amd64-68 tools@e71c338b go@00ece11b x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.80s)
    serve_test.go:38: dial tcp 127.0.0.1:16849: connect: connection reset by peer
2022-09-19 15:32 openbsd-386-70 tools@0e011a0e go@31d06b58 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.38s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:30925->127.0.0.1:10059: read: connection reset by peer
2022-09-19 18:18 openbsd-386-68 tools@fdf581fd go@31d06b58 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.35s)
    serve_test.go:38: dial tcp 127.0.0.1:36135: connect: connection reset by peer
2022-09-19 18:40 linux-s390x-ibm tools@15782446 go@e283473e x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.88s)
    serve_test.go:38: dial tcp 127.0.0.1:44017: connect: connection reset by peer
Found new dashboard test flakes for:
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2022-09-28 14:34 linux-s390x-ibm tools@4dd4ddb9 go@f6d84451 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.20s)
    serve_test.go:38: dial tcp 127.0.0.1:34831: connect: connection reset by peer
Found new dashboard test flakes for:
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2022-09-29 22:28 openbsd-386-70 tools@d49f960b go@66165739 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.54s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:33845->127.0.0.1:11215: read: connection reset by peer
Found new dashboard test flakes for:
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2022-10-06 14:25 openbsd-amd64-68 tools@bd8c28ff go@9dfadf91 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.13s)
    serve_test.go:38: dial tcp 127.0.0.1:45940: connect: connection reset by peer
Found new dashboard test flakes for:
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2022-10-15 19:01 linux-s390x-ibm tools@9b5e55b1 go@947091d3 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.33s)
    serve_test.go:50: conn2.Close failed with error: failed reading header line: read tcp 127.0.0.1:60952->127.0.0.1:46349: read: connection reset by peer
Change https://go.dev/cl/443355 mentions this issue: internal/jsonrpc2_v2: remove “Box” suffix from channel field names
Found new dashboard test flakes for:
#!watchflakes
post <- pkg == "golang.org/x/tools/internal/jsonrpc2_v2" && `connection reset by peer`
2022-10-17 17:58 openbsd-386-68 tools@bc4e384f go@947091d3 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
--- FAIL: TestIdleTimeout (0.62s)
    serve_test.go:38: dial tcp 127.0.0.1:36551: connect: connection reset by peer
Change https://go.dev/cl/446315 mentions this issue: internal/jsonrpc2_v2: initiate shutdown when the Writer breaks
This should be fixed as of CL 443678 or earlier.
Change https://go.dev/cl/447035 mentions this issue: internal/jsonrpc2_v2: initiate shutdown when the Writer breaks