-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
Comments
It's more than once now: |
Change https://go.dev/cl/388598 mentions this issue: |
Change https://go.dev/cl/388597 mentions this issue: |
Change https://go.dev/cl/388599 mentions this issue: |
Change https://go.dev/cl/388774 mentions this issue: |
Change https://go.dev/cl/388775 mentions this issue: |
2022-07-25T14:31:12-6ec939a-64f2829/openbsd-386-68
|
Found new matching dashboard test flakes for:
2022-07-14 01:47 openbsd-386-68 tools@db8f89b3 go@a906d3dd x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-07-14 01:47 openbsd-386-68 tools@db8f89b3 go@88a06f40 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-07-14 01:47 openbsd-amd64-70 tools@db8f89b3 go@783ff7df x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-07-15 14:27 openbsd-386-68 tools@1a4e02fe go@88a06f40 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-07-20 19:56 openbsd-amd64-68 tools@ec1f9244 go@076c3d7f x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-07-25 14:31 openbsd-386-68 tools@6ec939a6 go@64f2829c x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-07-27 16:29 openbsd-386-68 tools@b3b5c13b go@ed50277f x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-08-03 12:09 openbsd-386-68 tools@ddb90ecd go@29b9a328 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-08-03 12:09 openbsd-386-70 tools@ddb90ecd go@fcdd099a x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-03 18:07 openbsd-386-68 tools@d08f5dc9 go@f28fa952 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-04 20:04 openbsd-386-68 tools@af2a0a81 go@fcdd099a x/tools/internal/jsonrpc2_v2.TestConnectionRaw (log)
2022-08-10 17:41 openbsd-386-68 tools@0ad49fde go@d4280fda x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-08-11 16:19 openbsd-386-68 tools@37a81b68 go@133c0e90 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-08-11 18:06 openbsd-386-68 tools@c4ec74a5 go@9e4638ad x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-08-12 22:57 openbsd-386-70 tools@35f806b1 go@59865f14 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-15 19:50 openbsd-386-68 tools@e8507bed go@7b45edb4 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-08-15 20:02 openbsd-386-70 tools@938e162b go@f80b1266 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-26 17:59 openbsd-386-68 tools@717a6716 go@a1c9783c x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-26 17:59 openbsd-386-68 tools@717a6716 go@7f92ccea x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-29 18:21 openbsd-386-68 tools@248c34b8 go@ddc93a53 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-08-31 21:10 openbsd-amd64-70 tools@550e1f5a go@86e9e0ea x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-02 00:49 openbsd-386-68 tools@33c1ddd5 go@ec2ea40b x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-09-02 00:49 openbsd-386-70 tools@33c1ddd5 go@6b555dc2 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-02 18:17 linux-amd64-wsl tools@5ba85415 go@0cf996a9 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-09-02 19:58 openbsd-386-70 tools@d815cba5 go@2392b706 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-06 14:55 openbsd-386-70 tools@83d76192 go@88149ed4 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-09-07 17:33 openbsd-amd64-68 tools@5f27e050 go@dfdf5515 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-07 22:05 linux-s390x-ibm tools@a6307518 go@29604312 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-13 15:21 openbsd-386-70 tools@9250e22a go@585c4386 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-15 19:17 openbsd-386-70 tools@cdd69867 go@5231ba2f x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-09-19 18:40 openbsd-386-68 tools@15782446 go@31d06b58 x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-09-20 12:41 openbsd-amd64-70 tools@f9016238 go@bcd44b61 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-09-20 17:54 openbsd-386-70 tools@00ae48ef go@225bcec9 x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-09-21 16:48 linux-s390x-ibm tools@2f047133 go@2614985e x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-09-23 16:53 openbsd-386-70 tools@eb25de6e go@336ce966 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-26 21:05 openbsd-386-70 tools@1bfc4699 go@2b9596cb x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-26 22:21 openbsd-386-68 tools@eb45e986 go@b0f8e20d x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-09-28 16:54 openbsd-386-68 tools@bddb3720 go@9d2c73a9 x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-09-28 19:25 openbsd-386-68 tools@a4274a8a go@dbf174d4 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-09-28 21:54 dragonfly-amd64-622 tools@3db607bf go@8c29881d x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-30 17:40 freebsd-amd64-13_0 tools@ed98f10c go@9d2c73a9 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-09-30 19:58 openbsd-386-68 tools@3e0355b8 go@aeab76f0 x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-10-05 17:59 openbsd-386-68 tools@c5514b75 go@89566448 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-10-06 14:25 openbsd-386-68 tools@bd8c28ff go@947091d3 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-10-06 14:25 openbsd-amd64-68 tools@bd8c28ff go@89566448 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-10-06 21:06 linux-ppc64-buildlet tools@778f9457 go@515e3de2 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-10-06 21:06 linux-s390x-ibm tools@778f9457 go@d0b0b10b x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
2022-10-06 21:06 openbsd-386-70 tools@778f9457 go@89566448 x/tools/internal/jsonrpc2_v2.TestServe (log)
2022-10-12 18:24 linux-s390x-ibm tools@d3752388 go@19095e10 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
|
Found new dashboard test flakes for:
2022-10-13 16:31 openbsd-386-68 tools@f87c1ed9 go@89566448 x/tools/internal/jsonrpc2_v2.TestIdleTimeout (log)
|
Found new dashboard test flakes for:
2022-10-13 17:41 dragonfly-amd64-622 tools@ffb862b5 go@1ef685fb x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-10-15 19:01 openbsd-386-68 tools@9b5e55b1 go@61f0409c x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Found new dashboard test flakes for:
2022-10-17 12:57 openbsd-386-70 tools@b93a56f2 go@3d92205e x/tools/internal/jsonrpc2_v2.TestServe (log)
|
Change https://go.dev/cl/443355 mentions this issue: |
Found new dashboard test flakes for:
2022-10-15 19:01 dragonfly-amd64-622 tools@9b5e55b1 go@61f0409c x/tools/internal/jsonrpc2_v2.TestServe (log)
|
…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 <[email protected]> gopls-CI: kokoro <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Auto-Submit: Bryan Mills <[email protected]> Reviewed-by: Alan Donovan <[email protected]>
…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 <[email protected]> Reviewed-by: Ian Cottrell <[email protected]> gopls-CI: kokoro <[email protected]> Auto-Submit: Bryan Mills <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
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 <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Auto-Submit: Bryan Mills <[email protected]> Reviewed-by: Alan Donovan <[email protected]> gopls-CI: kokoro <[email protected]>
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 <[email protected]> Reviewed-by: Ian Cottrell <[email protected]> TryBot-Result: Gopher Robot <[email protected]> gopls-CI: kokoro <[email protected]> Auto-Submit: Bryan Mills <[email protected]>
…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 <[email protected]> Reviewed-by: Ian Cottrell <[email protected]> gopls-CI: kokoro <[email protected]> Run-TryBot: Bryan Mills <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
Found new dashboard test flakes for:
2022-11-01 21:03 darwin-amd64-12_0 tools@32e1cb7a go@a5b4283d x/tools/internal/jsonrpc2_v2.TestConnectionHeader (log)
|
Change https://go.dev/cl/448095 mentions this issue: |
Found new dashboard test flakes for:
2022-11-09 13:30 netbsd-arm-bsiegert tools@30574650 go@3a410941 x/tools/internal/jsonrpc2_v2.TestConnectionHeader (log)
|
That last flake was just before https://go.dev/cl/448095, so this is still consistent with the problem being fixed by that CL. |
Observed the following test failure on a
openbsd-amd64-68
TryBot in https://go-review.googlesource.com/c/tools/+/313097/7#message-05b2ee7a7f430f763806057296bde561b9777f07: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.
The text was updated successfully, but these errors were encountered: