golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
120.66k stars 17.33k forks source link

x/tools/gopls: regtest flakes due to hanging go commands #54461

Open findleyr opened 1 year ago

findleyr commented 1 year ago
#!watchflakes
post <- goos != "netbsd" && (pkg ~ `^golang.org/x/tools/gopls` || (repo == "tools" && pkg == "")) && 
        (`detected hanging go command` || log ~ `detected hanging go command`)

greplogs --dashboard -md -l -e 'runCmdContext' --since=2022-07-14

[2022-08-15T17:42:12-987de34-1f833e4/darwin-amd64-12_0](https://build.golang.org/log/00046e0b005c7660d676a3a415561950048f756a) [2022-08-14T00:06:23-35f806b-59865f1/netbsd-amd64-9_0](https://build.golang.org/log/cac6093c9a1e29b020d1a0076f0b67e262a134c5) [2022-08-12T20:40:05-bebd890-2f6783c/netbsd-386-9_0](https://build.golang.org/log/3680daecab8adb2905484af9298a4239b3812f6a) [2022-08-12T18:15:28-bebd890-b6f87b0/netbsd-amd64-9_0](https://build.golang.org/log/c2900e262adb237ea981093befa87ec35faa804b) [2022-08-12T12:39:26-88d981e-f67c766/netbsd-amd64-9_0](https://build.golang.org/log/d22326763f8cbedb39bb3c17f3e66e57efa453df) [2022-08-12T00:04:29-c4ec74a-a5cd894/netbsd-386-9_0](https://build.golang.org/log/eec2b475f968a73f4f17745f72013ca6b3dc2a26) [2022-08-11T19:05:54-c4ec74a-62654df/netbsd-amd64-9_0](https://build.golang.org/log/070b4fee818231324badb590600980000d349fc2) [2022-08-11T17:53:50-37a81b6-a526ec1/netbsd-amd64-9_0](https://build.golang.org/log/373391707f93fff54945c55648170d9dd390958c) [2022-08-11T16:19:14-37a81b6-2340d37/netbsd-amd64-9_0](https://build.golang.org/log/1c1abf0fdf7307ffbe030628c0c37a2af50e044d) [2022-08-11T12:53:59-b2156b5-3c200d6/netbsd-386-9_0](https://build.golang.org/log/dd3e35eeace9e0ab8bad2da68b3822e492084f55) [2022-08-10T22:22:48-b2156b5-6b80b62/netbsd-amd64-9_0](https://build.golang.org/log/0e0cf575d88b65e91a55b8f070bf9b7ef3136e6e) [2022-08-10T17:41:25-0ad49fd-f19f6c7/netbsd-amd64-9_0](https://build.golang.org/log/f1c0a3ff9bc966ba2ea145a3fc5b207e7da04422) [2022-08-10T15:08:24-3950865-c81dfdd/netbsd-amd64-9_0](https://build.golang.org/log/49e68c6f9a3e02fea5a3560b3599fec748fe37a5) [2022-08-10T02:14:09-6fa767d-5531838/plan9-386-0intro](https://build.golang.org/log/dd0540ff0994f1f4dabc184f1a3139bc92e459b0) [2022-08-09T14:33:24-92d58ea-0981d9f/openbsd-386-70](https://build.golang.org/log/2257a9730544b80a3bbd32cd77d842bae30df216) [2022-08-09T14:12:01-92d58ea-662a729/netbsd-amd64-9_0](https://build.golang.org/log/262bb87feffe594abd0bca78d7ff0762bce6ce6d) [2022-08-09T13:39:27-92d58ea-9e8020b/netbsd-386-9_0](https://build.golang.org/log/5038ff991c57474969f20b56f7e0147b970f9d6f) [2022-08-09T11:28:56-92d58ea-0f8dffd/netbsd-amd64-9_0](https://build.golang.org/log/6f487445444131ce88dc81395c61491a75b717b6) [2022-08-08T18:10:56-fff6d6d-4bcc138/netbsd-amd64-9_0](https://build.golang.org/log/d7b15610ae881f54e8580b1df112b35fae495416) [2022-08-08T15:33:45-06d96ee-0581d69/netbsd-amd64-9_0](https://build.golang.org/log/0f6a50f7330a08b10fbbb2b30592206aa78088d8) [2022-08-08T15:07:46-06d96ee-cd54ef1/netbsd-amd64-9_0](https://build.golang.org/log/4bf9c1e647958f6f7e91f6a4af54f5c0d47a5ff9) [2022-08-08T14:12:21-06d96ee-e761556/netbsd-amd64-9_0](https://build.golang.org/log/139292d4921bc45d1d4f7eaad29b8ab74d492337) [2022-08-08T06:16:59-06d96ee-0f6ee42/darwin-amd64-11_0](https://build.golang.org/log/dcb2262105851e705bd8a54363d0f7eb12ced52d) [2022-08-08T06:16:59-06d96ee-0f6ee42/netbsd-386-9_0](https://build.golang.org/log/e338e8cc5f896780178f4653ca14cb3c5420eee3) [2022-08-06T15:20:00-06d96ee-0c4db1e/plan9-386-0intro](https://build.golang.org/log/5cca74b05c0a96fe84d714c05095b688cf142998) [2022-08-05T19:51:08-06d96ee-4fb7e22/plan9-386-0intro](https://build.golang.org/log/6b5544e536b89cd2b350dc28831b3cf2c1b930d1) [2022-08-04T20:05:03-81c7dc4-39728f4/netbsd-386-9_0](https://build.golang.org/log/a0e0e2e24dbcc85bc1112cde350e2aab2f68507e) [2022-08-04T20:05:03-81c7dc4-39728f4/netbsd-amd64-9_0](https://build.golang.org/log/1cf98e0db8d30c95362f07d44c47c5363b8c3955) [2022-08-04T20:04:16-3519aa2-39728f4/netbsd-386-9_0](https://build.golang.org/log/9395fd87814bc4d6344a3bbf72f427637a40ff9d) [2022-08-04T19:57:25-763f65c-39728f4/netbsd-386-9_0](https://build.golang.org/log/e6a1d9cdf59a37ef2641727a09850df931bf6c76) [2022-08-04T18:51:46-99fd76f-39728f4/openbsd-386-70](https://build.golang.org/log/d3aa446a547efa10e17e2f9096f34a1e7de84a34) [2022-08-04T17:05:18-3e0a503-fb1bfd4/netbsd-amd64-9_0](https://build.golang.org/log/3eab42b91ac882d28586f90d833b6a7adadfaa8e) [2022-08-04T15:50:11-3e0a503-fcdd099/netbsd-386-9_0](https://build.golang.org/log/f20346aaff38f3501b9586c4bd5bce30beeb544c) [2022-08-04T15:50:11-3e0a503-44ff9bf/netbsd-amd64-9_0](https://build.golang.org/log/cc32154c3c01fea6178c088a401ce789b8cdfea2) [2022-08-04T15:31:49-87f47bb-44ff9bf/plan9-386-0intro](https://build.golang.org/log/1a849764f69705f80e2b9215a4af08a35ca6b599) [2022-08-04T14:58:59-87f47bb-4345620/netbsd-386-9_0](https://build.golang.org/log/1979e42d0a685eaba423a2b72abb5f01467f9d29) [2022-08-04T10:32:51-3e0a503-a10afb1/linux-386-buster](https://build.golang.org/log/0575b7d9be6333dd398544d939a632c7bca98820) [2022-08-03T21:02:27-8b9a1fb-f28fa95/plan9-386-0intro](https://build.golang.org/log/3bdc65bf0d8317c8060a9213e294bd69d8c9a2c6) [2022-08-03T21:02:27-8b9a1fb-4345620/netbsd-386-9_0](https://build.golang.org/log/274203fd71753a2475dc09b150bf2223ccafc467) [2022-08-03T18:07:40-d08f5dc-fcdd099/netbsd-386-9_0](https://build.golang.org/log/0356b836f12656f38f905a8b00195c0dc91f9f9c) [2022-08-03T13:50:38-ddb90ec-c6a2dad/dragonfly-amd64-622](https://build.golang.org/log/2afbb152ac08399d2e748415c1e8237aba177f93) [2022-08-03T13:50:38-ddb90ec-c6a2dad/plan9-386-0intro](https://build.golang.org/log/17a5aa41dccbd8d4d12f725824e944297efc759d) [2022-08-03T12:09:24-ddb90ec-29b9a32/plan9-386-0intro](https://build.golang.org/log/b476964cf820ebb56acaf4873de238e9944c2fdc) [2022-08-02T18:52:36-0d04f65-29b9a32/plan9-386-0intro](https://build.golang.org/log/8d8b0cf1e7abad05f3b5efc3d81f8b943459e208) [2022-08-02T18:19:01-d025cce-be59153/netbsd-amd64-9_0](https://build.golang.org/log/d373872d8833fcd7943ed0c44a350b1ed0964171) [2022-08-02T18:16:22-10cb435-d723df7/netbsd-amd64-9_0](https://build.golang.org/log/52dcc80905a7e4fb69b303d2e10b0853d7a4d249) [2022-08-02T18:07:14-4d0b383-d723df7/netbsd-386-9_0](https://build.golang.org/log/32e87f0ad4c401d7b6898923db1ccf0e18e96a55) [2022-08-02T18:07:14-4d0b383-d723df7/netbsd-amd64-9_0](https://build.golang.org/log/c45079cd676d8c78a4fb2e516c7f8c61e99cf932) [2022-08-02T17:23:42-4d0b383-1b7e71e/darwin-amd64-nocgo](https://build.golang.org/log/f1e5f794c6590cf6ef6af5b32593bdb2dc4e691a) [2022-08-02T16:05:48-4d0b383-f2a9f3e/netbsd-amd64-9_0](https://build.golang.org/log/615a1fe11bff97f99eea28f57de7379a57de05ff) [2022-07-29T20:19:23-9580c84-9240558/windows-arm64-11](https://build.golang.org/log/902f203f4ca2a092814c8f9feae9f34403c03fc0) [2022-07-28T20:06:00-8ea5687-d9242f7/darwin-amd64-nocgo](https://build.golang.org/log/12a2b665a640b80267a18e005b8f48cef599747b) [2022-07-27T15:04:58-39a4e36-4248146/freebsd-386-13_0](https://build.golang.org/log/2285dd340580856181ca3d5dc0c60759238a178d) [2022-07-26T18:43:08-6c8a6c4-d9242f7/aix-ppc64](https://build.golang.org/log/b396e3df87257d69b4dfdaf4a5f927b2109cb3f4) [2022-07-25T20:44:49-2a6393f-24dc27a/darwin-amd64-10_14](https://build.golang.org/log/99081c715af7f107984bbf25ee529a1bb386afe1) [2022-07-25T18:11:01-4375b29-795a88d/plan9-386-0intro](https://build.golang.org/log/cb5fe95e5d275800ef3139747fb602ad99ea159e) [2022-07-25T14:16:17-178fdf9-64f2829/plan9-386-0intro](https://build.golang.org/log/d5eae87730ea926b99e5c20558b3f7d53adcaa7e) [2022-07-22T20:12:19-7b605f4-c5da4fb/plan9-386-0intro](https://build.golang.org/log/745ec57924a1086a4044a42e8daaf9cdad4b755a) [2022-07-21T20:11:06-ec1f924-c4a6d30/plan9-386-0intro](https://build.golang.org/log/4a72300281f575745ce47d3a3e719e2ad624395f) [2022-07-15T15:11:26-22d1494-2aa473c/windows-386-2008-newcc](https://build.golang.org/log/76a64e26cc4949d727458d3d75bf0a7d957761ba) [2022-07-15T14:27:36-1a4e02f-4651ebf/windows-arm64-10](https://build.golang.org/log/31cefa7b619aab91a17a2e86457aea315f08992f) [2022-07-15T14:20:24-db8f89b-4651ebf/windows-arm64-10](https://build.golang.org/log/32b673e2683994bcdf4b3ca0031b2ba66d6fa5f2) [2022-07-14T21:03:14-db8f89b-783ff7d/windows-arm64-11](https://build.golang.org/log/da6886000059b7db0800204df81e5ae4cd151a5b) [2022-07-14T21:01:58-db8f89b-aa80228/darwin-arm64-11](https://build.golang.org/log/cbff206e69443d9ec55c0fb38c5b0f3205fe7ba9) [2022-07-14T19:05:09-db8f89b-a906d3d/windows-arm64-10](https://build.golang.org/log/283ac24f2b8085b434b86ff5fa37d5762efcaa40) [2022-07-14T15:54:36-db8f89b-266c70c/windows-arm64-10](https://build.golang.org/log/9b4cda8292abc11d4807641e8af88e1cf57b2fd3) [2022-07-14T01:47:39-db8f89b-558785a/windows-arm64-11](https://build.golang.org/log/d9dc888e4b2ad7d0a1b9804a1dd87cc9e4329946)

We recently started waiting for all go command invocations when shutting down gopls regtests. It appears that sometimes we kill the go command and still don't get a result from cmd.Wait(). For example, here: https://build.golang.org/log/00046e0b005c7660d676a3a415561950048f756a

In that failure, the test runner looks otherwise healthy (other tests ran fast), and yet the goroutine stack clearly shows a go command hanging for 9 minutes here: https://cs.opensource.google/go/x/tools/+/master:internal/gocommand/invoke.go;l=260;drc=f38573358cbedf46d64c5759ef41b72afcf0c5c0

@bcmills do you happen to have any idea of what might cause this?

findleyr commented 1 year ago

Two observations:

  1. We're not checking the error from Kill. If killing failed, I don't think we can expect Wait to return.
  2. Discussion at https://groups.google.com/g/golang-nuts/c/pUaEjqd5wo8
adonovan commented 1 year ago

The only reason the kill system call can fail (at least in this situation) is when the child process has already exited, so failure of kill is unlikely to be the culprit. More likely kill terminated the go process itself, but not the tree of processes rooted at it. If one of them (a test?) retains an open file descriptor to the stdout pipe created by os/exec then the cmd.Run operation will hang indefinitely.

To dig further, we could add logic to run during the failure (on linux) that does ps -e f and ls -l /proc/*/fd/* to show the process tree and their open files.

bcmills commented 1 year ago

Please do check the error from Kill ā€” that would at least give a useful data point for diagnostics. (This may be closely related to #53400 #50187.)

bcmills commented 1 year ago

greplogs -l -e 'panic: test timed out(?:.*\n)*goroutine \d+ \[.*, \d+ minutes\]:\n.*runCmdContext' --since=2022-08-15 --details

[2022-09-13T12:58:04-ec74389-dad2966/netbsd-386-9_0](https://build.golang.org/log/178ae8329e98ee4f609deb469b12fc1bd9a69315) [2022-09-13T12:38:14-ec74389-c7a0b15/netbsd-amd64-9_0](https://build.golang.org/log/72f0acbb973ba0bdb8c7fe1a5f276dc69a0709a7) [2022-09-13T12:37:11-ec74389-f4a587b/netbsd-amd64-9_0](https://build.golang.org/log/3bc97ae4192e66fa6f7b33c65df02ac62b772c19) [2022-09-11T21:08:46-e71c338-00ece11/netbsd-amd64-9_0](https://build.golang.org/log/f6a4668f0b3fbbb70e3daa32cdc83be5fd7c0edb) [2022-09-09T18:42:57-0eebaab-b244b89/netbsd-386-9_0](https://build.golang.org/log/406ce242c3f6c77761eb805d4629ca53cf105e37) [2022-09-09T15:36:26-eeaf4eb-600db8a/netbsd-386-9_0](https://build.golang.org/log/ae71face5bb5ca102dfd907cbf1773363e9b156a) [2022-09-09T15:10:10-4754f75-9a5574a/netbsd-amd64-9_0](https://build.golang.org/log/a935017abcfbd07993680cc96353c0b4686079fb) [2022-09-08T15:55:44-a630751-cd8aa40/netbsd-amd64-9_0](https://build.golang.org/log/7867b38b1d144b61219dd6986d8f9d4f13ce91cb) [2022-09-08T14:33:45-a630751-e5ed221/netbsd-386-9_0](https://build.golang.org/log/75debe6402ff81d00dc9ccc03a34e6e34d4c38dd) [2022-09-08T13:27:43-a630751-51fdfeb/darwin-arm64-11](https://build.golang.org/log/ac8935ac9f83d5e0fa8cf89589591a2195af6e14) [2022-09-07T16:37:07-dd1bab2-3e75859/darwin-arm64-12](https://build.golang.org/log/77dd3825c52c187fde473fa09d530218fb652cfd) [2022-09-07T14:47:36-c1dd25e-d81ed4d/netbsd-386-9_0](https://build.golang.org/log/a7e5864c41aed5bb4787633dd92427881d6330af) [2022-09-07T14:47:36-c1dd25e-d81ed4d/netbsd-amd64-9_0](https://build.golang.org/log/219f58daea91f3715cc1437f7e38c4b488575e96) [2022-09-07T14:33:56-c1dd25e-0752f4a/netbsd-386-9_0](https://build.golang.org/log/6d1ff239251cc337f5b70a136b8729f81fa90626) [2022-09-07T00:49:41-83d7619-8fd2073/netbsd-amd64-9_0](https://build.golang.org/log/9e517d8860c10fb8c26971e908f96865c79b68f4) [2022-09-06T22:14:56-83d7619-c82304b/netbsd-386-9_0](https://build.golang.org/log/cda1394454d4ca227e97515de634924dc9550be3) [2022-09-06T17:36:47-83d7619-e0e0c8f/netbsd-amd64-9_0](https://build.golang.org/log/193174b9deca20217c5cf16e4d5c29d9c989b707) [2022-09-06T16:17:26-83d7619-4a4127b/netbsd-amd64-9_0](https://build.golang.org/log/d5973a5e11db6a7dfef5ed1b192b107380d56f03) [2022-09-06T16:04:07-83d7619-60ef4b2/netbsd-386-9_0](https://build.golang.org/log/bedc9fb7a3e04466cc47d43ca2204945f9b08956) [2022-09-06T12:35:13-d815cba-8a32354/netbsd-amd64-9_0](https://build.golang.org/log/970d0f035930da32c705b684eb52c57582635f39) [2022-09-03T06:26:16-d815cba-9fc09d2/netbsd-386-9_0](https://build.golang.org/log/49673f6036b9fe2b681eeacbdc4ecbfb2c7854a8) [2022-09-02T18:51:37-be9eab1-5b1fbfb/netbsd-amd64-9_0](https://build.golang.org/log/3baef44768df183b43c1f382aab12b8ffb9108da) [2022-09-02T18:17:25-5ba8541-0cf996a/netbsd-amd64-9_0](https://build.golang.org/log/df5643eacc5844e2b68924d833c992697a9ec8a7) [2022-09-02T15:27:18-eb8352e-321a220/netbsd-386-9_0](https://build.golang.org/log/c071bee45f1aeb9134d29f08195c52d4f6a58823) [2022-09-02T05:05:13-33c1ddd-8e35910/darwin-arm64-12](https://build.golang.org/log/0a8f493d3fb8e24f293c7a993566e49225c6cfa9) [2022-09-02T05:05:13-33c1ddd-8e35910/netbsd-amd64-9_0](https://build.golang.org/log/2397999715ec6855f7d33e260e57985d8c41d1d7) [2022-09-02T00:06:00-40cfaff-0592ce5/netbsd-amd64-9_0](https://build.golang.org/log/233feb2de27b6a09639940ac94e3d90732ef41ff) [2022-09-01T23:18:06-40cfaff-1280ae7/netbsd-amd64-9_0](https://build.golang.org/log/fbe9587e4eda9a8fb9eb4783eb804d202d6d43bd) [2022-09-01T22:37:04-40cfaff-aa5ff29/netbsd-386-9_0](https://build.golang.org/log/000aa3c8d952be65ee7ed1014757069e88edb640) [2022-09-01T18:08:05-f16be35-ef84141/netbsd-386-9_0](https://build.golang.org/log/e8248340783cdc7c7fb313d588f367f2892f7cad) [2022-09-01T15:27:30-6c10975-86e9e0e/netbsd-386-9_0](https://build.golang.org/log/994db372977e46635bc3a3264a9012ff5e1f5f86) [2022-09-01T03:24:42-49ab44d-91ef076/netbsd-amd64-9_0](https://build.golang.org/log/781a919765bffee76e3feca038a28f7f12aa26b5) [2022-09-01T00:42:27-550e1f5-64b260d/netbsd-386-9_0](https://build.golang.org/log/eb9903a5db58c2139b1a6bd29c33ce79d021957c) [2022-08-31T23:52:00-550e1f5-ca634fa/netbsd-amd64-9_0](https://build.golang.org/log/5c06c96640447e25876152f3ff810f4e6b10d62b) [2022-08-31T22:22:43-550e1f5-e4b624e/netbsd-amd64-9_0](https://build.golang.org/log/050b8ca1efebd1ea3a55e9dcad68c30d30c591b3) [2022-08-31T22:10:52-550e1f5-33a7e5a/netbsd-386-9_0](https://build.golang.org/log/ccb1be631338df0b55cfaa360b1183aa7f3f6094) [2022-08-31T21:08:24-4ccc73c-ce77a46/netbsd-386-9_0](https://build.golang.org/log/a6b0fd946e119e120c4871beb98236acbd801845) [2022-08-31T21:08:24-4ccc73c-889d326/netbsd-amd64-9_0](https://build.golang.org/log/cc5ade97bdf85213ea8c0245486b7de03d5d65a2) [2022-08-31T16:26:07-41c3a9b-d2d5929/netbsd-386-9_0](https://build.golang.org/log/4ec17b41eb3c5a8d9c4733d15d1b415b3b4235df) [2022-08-31T01:16:54-248c34b-ee0e40a/netbsd-amd64-9_0](https://build.golang.org/log/04547691fcaf680bf02a081c4b6c57be6b634361) [2022-08-30T21:30:15-248c34b-bd56cb9/netbsd-amd64-9_0](https://build.golang.org/log/6cc62a717ad7cf778406c971c15ea51c3bb759e1) [2022-08-30T00:49:19-248c34b-629ae1c/netbsd-amd64-9_0](https://build.golang.org/log/4c80dc13469ab295d94bc578796f898ed0ae9f82) [2022-08-28T16:04:49-717a671-846c378/netbsd-386-9_0](https://build.golang.org/log/c4a66b7d3f4782f6e7b57dfbdfe3d2238b75e648) [2022-08-26T19:15:02-717a671-897ad2f/netbsd-amd64-9_0](https://build.golang.org/log/e21a233dc60e92caa9672a12bffe6b66838171a3) [2022-08-26T18:28:14-717a671-bf812b3/netbsd-386-9_0](https://build.golang.org/log/6ef77844158653a3a5367aabbe2e0c3ad4a44456) [2022-08-26T17:48:20-7f23307-296c40d/netbsd-amd64-9_0](https://build.golang.org/log/4cf3360c8a6818759645164f6bce37db1a11bdc2) [2022-08-26T15:36:36-7c5e035-951d2c6/netbsd-386-9_0](https://build.golang.org/log/a4183f76efa7cee46b3f8f13fdaa862608cdb2c1) [2022-08-25T19:17:14-d35bb19-f64f12f/netbsd-386-9_0](https://build.golang.org/log/1916bbd565f13badf52a10c6cbee34099ec8a384) [2022-08-25T17:31:33-db6a62c-83b5fe6/netbsd-386-9_0](https://build.golang.org/log/26034ffccf387ce6d5da51317b7c0d5465405fca) [2022-08-25T14:56:18-db6a62c-e4be2ac/netbsd-amd64-9_0](https://build.golang.org/log/080c80f427d6a3e9206f9af765253c5ff2518797) [2022-08-25T04:00:07-db6a62c-8c8429f/netbsd-386-9_0](https://build.golang.org/log/0632c880b16579729dbe2491c489fc0e1b0d3c29) [2022-08-25T04:00:07-db6a62c-8c8429f/netbsd-amd64-9_0](https://build.golang.org/log/a666ea4c99cdc4cf68f6f734c2b90571c3d83d97) [2022-08-24T21:20:11-db6a62c-e4bed41/netbsd-amd64-9_0](https://build.golang.org/log/c8421302a1803c562b8e6e0110404d8c94f370a9) [2022-08-24T17:56:56-587a153-cfae70c/netbsd-386-9_0](https://build.golang.org/log/baa65ed728fd00f8c4e5480d0bda9188ffd101e7) [2022-08-24T15:37:38-587a153-d5aa088/netbsd-amd64-9_0](https://build.golang.org/log/7e2dcd2a4f1f3077665da8083e60d87f0b1e4149) [2022-08-24T14:31:08-c837a30-f983a93/netbsd-amd64-9_0](https://build.golang.org/log/b3d226bb3a00f766e2035ccf58638282c7a43c7c) [2022-08-24T12:12:12-587a153-b5a9459/netbsd-amd64-9_0](https://build.golang.org/log/caecb7084bb781ba347f65fb6f57aac5e21fbfc8) [2022-08-23T20:32:50-587a153-fc0d423/netbsd-386-9_0](https://build.golang.org/log/dc8a5042203b88507155c4d52b6b5ac6e07dbb47) [2022-08-19T16:55:03-e55fb40-7dad1d2/netbsd-386-9_0](https://build.golang.org/log/59471b61d9a3de3c219f037440229a8b2996dbc6) [2022-08-19T16:17:50-e55fb40-5729419/netbsd-386-9_0](https://build.golang.org/log/ae365a434f2ad1aba86343dcbcf1c37b7e88776d) [2022-08-19T15:53:47-e55fb40-f324355/netbsd-amd64-9_0](https://build.golang.org/log/404c696f3c2531de885e9feec09e0b88666ea99d) [2022-08-19T03:09:05-e55fb40-a409356/netbsd-386-9_0](https://build.golang.org/log/5d933c6dbd4cbee571eb6891ba674bbfb2eecda7) [2022-08-15T20:41:00-938e162-de0f4d1/netbsd-amd64-9_0](https://build.golang.org/log/814442b3c379948160d82e9310e011b0034d0320) [2022-08-15T20:02:31-938e162-7b45edb/netbsd-amd64-9_0](https://build.golang.org/log/8b6fe466d2eebfb8af568bae2fcf62320186d6a2) [2022-08-15T19:17:20-8c83056-7b45edb/netbsd-amd64-9_0](https://build.golang.org/log/03a8688ab5b21f6eacb68e25ffb8c7a521e98523) [2022-08-15T17:42:12-987de34-1f833e4/darwin-amd64-12_0](https://build.golang.org/log/00046e0b005c7660d676a3a415561950048f756a)

(66 matching logs)

findleyr commented 1 year ago

Interesting, I was debugging this in https://go.dev/cl/424075. On windows, our call to Process.Kill() is failing with "invalid argument": https://storage.googleapis.com/go-build-log/e2f60200/windows-386-2008_71ad7007.log

A bit of googling suggests that this is because we can't kill subprocesses on windows.

@bcmills any advice for how to properly kill the go command on windows?

findleyr commented 1 year ago

After reading the source a bit more: this is EINVAL, which appears to mean that the Process.wait() has exited and the handle released, so this is a race, although it is surprising that we hit it so reliably.

gopherbot commented 1 year ago

Change https://go.dev/cl/424075 mentions this issue: internal/gocommand: add instrumentation for hanging go commands

bcmills commented 1 year ago

any advice for how to properly kill the go command on windows?

Can't be done without creating a whole extra process group, unfortunately. (Probably we should add a side-channel ā€” perhaps an open file descriptor or a pidfile? ā€” to request clean shutdown on Windows.)

gopherbot commented 1 year ago

Change https://go.dev/cl/431075 mentions this issue: internal/gocommand: tweak debugging for hanging go commands

findleyr commented 1 year ago

A hit! https://build.golang.org/log/4eea0e5bfe425fcd097a49fcb92fd015fa88f383

adonovan commented 1 year ago

Nice. Well, that test process seems very much alive, falsifying my hypothesis.

findleyr commented 1 year ago
13032 12910 (compile)
 9802 13032 go list -modfile=/tmp/workdir/tmp/go.8f5d4cc245da9790bda529e64ae3e7

Looks like the hanging go command is in the middle of a compile. Wish we had the full subprocesss command line -- I'll look into that.

Not sure how to interpret the fstat output.

adonovan commented 1 year ago

That's a dead cmd/compile process: there's no command because argv has been destroyed along with the rest of the address space. Perhaps the go list parent simply hasn't called waitpid yet, so the process table entry has to be retained. I suspect the problem is in go list.

findleyr commented 1 year ago

Aha, thanks (excuse my ps noobness).

Note that we instrumented this panic in two places: once before Kill() and once after. This is before, so I don't think it falsifies your hypothesis, if I'm understanding correctly.

bcmills commented 1 year ago

That one is netbsd, which could plausibly be explained as #50138. (I'd rather we wait for one of these on a platform without a known issue for Wait before we do too much digging.)

findleyr commented 1 year ago

greplogs --dashboard -md -l -e 'HANGING GO' --since=2022-09-15

2022-09-17T02:56:51-4d18923-cc1b20e/netbsd-amd64-9_0 2022-09-16T17:59:31-a61f20e-a84f46a/netbsd-amd64-9_0 2022-09-16T16:33:11-a61f20e-8451529/netbsd-386-9_0 2022-09-16T14:49:13-a61f20e-b35b4a3/netbsd-amd64-9_0

Still only netbsd. Posting the greplogs query here for future reference.

bcmills commented 1 year ago

Ooh, nice! https://go.dev/issue/55323#issuecomment-1254107802 has a darwin/arm64 hang. šŸ˜ƒ

bcmills commented 1 year ago

As expected, cmd/go itself has already exited at the point of the hang:

2022/09/20 08:42:37 error killing the Go command: os: process already finished

But there are an awful lot of processes in that dump, and nothing that obviously stands out as a subprocess of cmd/go that would have access to stdout or stderr. šŸ˜•

bcmills commented 1 year ago

Here's an off-the-wall theory: maybe the file descriptors actually are closed, and something in the parent Go process (i.e. gopls) isn't waking up from the end-of-stream event..?

53434 could be related.

bcmills commented 1 year ago

To check that hypothesis, two suggestions:

  1. gopls should log exactly which PID was the stuck go command, just in case it left a remnant in the ps orlsof output that we can track down.
  2. gopls should invoke debug.SetTraceback("system") before the terminal panic here.
adonovan commented 1 year ago

A simpler explanation is that gopls sent SIGINT, waited for 1s, then sent SIGKILL, and the child (go) exited during the 1s grace period, causing kill(2) to fail with ESRCH (-> ErrProcessDone = "process already finished"). Seems like that's to be expected if a busy machine causes a delay in responding to SIGINT. Perhaps the debugging logic should treat ErrProcessDone as success, not a reason to debug?

findleyr commented 1 year ago

@adonovan but in this case the panic indicates that we waited up to 10 seconds after that kill. The error from Kill is merely logged.

Per @bcmills comment on the CL, we should expect that cmd.Wait returns quickly once the process is done.

adonovan commented 1 year ago

the panic indicates that we waited up to 10 seconds after that kill. The error from Kill is merely logged.

Good point.

So the sequence of events that we know must have happened from the log is:

ErrProcessDone means that either waitpid returned ESRCH or that this was the second call to Process.signal after a first one set the 'done' event at the end of a successful call to Process.wait. In either case, the process must already have terminated.

Is it possible that the dump shows a different go process? Seems improbable, but I feel like we've eliminated the impossible. We should log the pid of cmd.Process, like @bcmills suggested.

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-09-20 12:40 darwin-arm64-12 tools@df2eb938 go@1eeb257b x/tools/gopls/internal/regtest/diagnostics (log) 2022/09/20 08:42:37 error killing the Go command: os: process already finished DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- ... panic: detected hanging go command: see golang/go#54461 for more details goroutine 17901 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand() /tmp/buildlet/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x34c golang.org/x/tools/internal/gocommand.runCmdContext({0x100f61f60, 0x14004c8d9e0}, 0x14005848000) /tmp/buildlet/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:294 +0x2f0 golang.org/x/tools/internal/gocommand.(*Invocation).run(0x1400645d148, {0x100f61f60, 0x14004c8d9e0}, {0x100f5a548?, 0x14003f0d380}, {0x100f5a548?, 0x14003f0d3b0}) /tmp/buildlet/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xcc4 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0x1400645d110?, {0x100f61f60, 0x14004c8d9e0}, {0x100f5a548?, 0x14003f0d380?}, {0x100f5a548?, 0x14003f0d3b0?}) ... golang.org/x/tools/gopls/internal/lsp/mod.Diagnostics({0x100f61f98, 0x14003fda3c0}, {0x100f6dd78, 0x14002971540}) /tmp/buildlet/gopath/src/golang.org/x/tools/gopls/internal/lsp/mod/diagnostics.go:24 +0x128 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnose(0x14005298a20, {0x100f61f98, 0x14003fadd40}, {0x100f6dd78, 0x14002971540}, 0x0) /tmp/buildlet/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:229 +0x24c golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0x14005298a20, {0x100f6dd78, 0x14002971540}, {0x14006365ea0, 0x1, 0x1}, 0xe0?) /tmp/buildlet/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:156 +0x238 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x100f6dd78?, 0x14002971540?}, {0x14006365ea0?, 0x14002e2cc60?, 0x140053cd900?}) /tmp/buildlet/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:133 +0x78 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/buildlet/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:131 +0x6c
2022-09-21 16:48 darwin-amd64-12_0 tools@2f047133 go@d7df8722 x/tools/gopls/internal/regtest/completion (log) 2022/09/21 18:03:09 error killing the Go command: os: process already finished DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- ... panic: detected hanging go command: see golang/go#54461 for more details goroutine 7465 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand() /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x391 golang.org/x/tools/internal/gocommand.runCmdContext({0x1cfb720, 0xc0021a4540}, 0xc0004c42c0) /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:294 +0x3ca golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc0004dd7e8, {0x1cfb720, 0xc0021a4540}, {0x1cf3ae0?, 0xc000310db0}, {0x1cf3ae0?, 0xc000310de0}) /Users/gopher/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xef9 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc0004dd7b0?, {0x1cfb720, 0xc0021a4540}, {0x1cf3ae0?, 0xc000310db0?}, {0x1cf3ae0?, 0xc000310de0?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc002814000?, {0x1cfb758, 0xc00155d6b0}, {0xc001aee850, 0x6a}, 0x0?, 0x0?) /Users/gopher/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xc00203b0e0, {0x1cfb758, 0xc00155d4d0}, {0x1d07fb8, 0xc002814000}, {0xc0004a36e0, 0x1, 0x35418e635?}, 0x0) /Users/gopher/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:188 +0x3e5 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc00203b0e0, {0x1d07fb8, 0xc002814000}, {0xc0004a36e0, 0x1, 0x1}, 0x98?) /Users/gopher/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:153 +0x229 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x1d07fb8?, 0xc002814000?}, {0xc0004a36e0?, 0xc002523060?, 0xc0013f59b0?}) /Users/gopher/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:133 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /Users/gopher/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:131 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Change https://go.dev/cl/434637 mentions this issue: internal/gocommand: show pid of process

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-12 14:51 netbsd-386-9_0 tools@b20ae4bc go@5bef9381 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65454 serve.go:438: debug server listening at http://localhost:65453 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 12624): see golang/go#54461 for more details goroutine 6978 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0x9d59500) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8d25e34, 0x96357c0}, 0xbc8cc60) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xa1ecd48, {0x8d25e34, 0x96357c0}, {0x8d20ed4, 0xb24ca98}, {0x8d20ed4, 0xb24cab0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xa1ecd48, {0x8d25e34, 0x96357c0}, {0x8d20ed4, 0xb24ca98}, {0x8d20ed4, 0xb24cab0}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xbbb2c00, {0x8d25df4, 0xac81fb0}, 0x1, {0xa586700, 0x2, 0x2}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:120 +0xd56 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xbbb2c00, {0x8d25df4, 0xac81fb0}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:714 +0x235 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xbbb2c00, {0x8d25df4, 0xac81fb0}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:648 +0x141 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x47 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe0c
2022-10-12 14:51 netbsd-amd64-9_0 tools@b20ae4bc go@947091d3 x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 14897): see golang/go#54461 for more details goroutine 14379 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc0060525a0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x117c588, 0xc005f7ff80}, 0xc005acf8c0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1c5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc0068d0900, {0x117c588, 0xc005f7ff80}, {0x11742a0?, 0xc004a8bc50}, {0x11742a0?, 0xc004a8bc80}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0x104d golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc0068d08c8?, {0x117c588, 0xc005f7ff80}, {0x11742a0?, 0xc004a8bc50?}, {0x11742a0?, 0xc004a8bc80?}) ... golang.org/x/tools/gopls/internal/lsp/protocol.ServerHandler.func1({0x117c5c0, 0xc00552f020}, 0xc004475d40, {0x117c908, 0xc00552ef60}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/protocol/protocol.go:157 +0x90 golang.org/x/tools/gopls/internal/lsp/lsprpc.handshaker.func1({0x117c5c0, 0xc00552f020}, 0xc004475d40, {0x117c908?, 0xc00552ef60?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/lsprpc/lsprpc.go:515 +0xa43 golang.org/x/tools/internal/jsonrpc2.MustReplyHandler.func1({0x117c5c0, 0xc00552f020}, 0xc00473ff80, {0x117c908?, 0xc00552ef60?}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:35 +0xf6 golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2() /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:103 +0xa3 created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1 /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:100 +0x20a
2022-10-12 14:51 netbsd-amd64-9_0 tools@b20ae4bc go@28a6f9cf x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 10646): see golang/go#54461 for more details goroutine 3056 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc00238c960) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x116f150, 0xc0021ad7a0}, 0xc002079b80) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc0034c17a0, {0x116f150, 0xc0021ad7a0}, {0x1166c60?, 0xc0013d0090}, {0x1166c60?, 0xc0013d0180}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xef9 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc0034c1768?, {0x116f150, 0xc0021ad7a0}, {0x1166c60?, 0xc0013d0090?}, {0x1166c60?, 0xc0013d0180?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc0034ae140?, {0x116f188, 0xc00154ecc0}, {0xc001221570, 0x64}, 0x0?, 0x0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xc00026ef00, {0x116f188, 0xc00154eb10}, {0x117bf18, 0xc0034ae140}, {0xc000383c00, 0x1, 0x40ef87?}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x3e3 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc00026ef00, {0x117bf18, 0xc0034ae140}, {0xc000383c00, 0x1, 0x1}, 0x88?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x229 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x117bf18?, 0xc0034ae140?}, {0xc000383c00?, 0xc000003ba8?, 0xc002a13fb8?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

adonovan commented 1 year ago

Is it possible that the dump shows a different go process? Seems improbable, but I feel like we've eliminated the impossible. We should log the pid of cmd.Process, like @bcmills suggested.

The pid in the last log above clearly shows that that the go list process is the child of the test, not some other process in the container. Huh...

adonovan commented 1 year ago

We still haven't seen a single log with both (a) the "error killing the Go command" message and (b) a pid showing that 'go' is the child of the test. So it's possible that the log with just (a) was merely a very slow (netbsd) machine and the log with just (b) was showing a different go process in the ps output. If both were to occur in the same log it would indicate a bug in the system call.

bcmills commented 1 year ago

merely a very slow (netbsd) machine

The NetBSD machines aren't particularly slow; they're buggy (#50138 up until yesterday, and #56180 after that).

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-13 15:07 netbsd-amd64-9_0 tools@b2533141 go@4a0ce469 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65443 serve.go:438: debug server listening at http://localhost:65442 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 13914): see golang/go#54461 for more details goroutine 32352 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc003546d20) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11dc940, 0xc001ac99e0}, 0xc005ad3b80) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc005025850, {0x11dc940, 0xc001ac99e0}, {0x11d4380?, 0xc0026a0c00}, {0x11d4380?, 0xc0026a0cc0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xef9 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc005025818?, {0x11dc940, 0xc001ac99e0}, {0x11d4380?, 0xc0026a0c00?}, {0x11d4380?, 0xc0026a0cc0?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc003fb7180?, {0x11dc978, 0xc0012b9140}, {0xc0054d5f20, 0x60}, 0x0?, 0x0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xc000b40700, {0x11dc978, 0xc0012b8d50}, {0x11eb198, 0xc003fb7180}, {0xc001480e30, 0x1, 0xc007442630?}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x3e3 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc000b40700, {0x11eb198, 0xc003fb7180}, {0xc001480e30, 0x1, 0x1}, 0xc0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x229 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x11eb198?, 0xc003fb7180?}, {0xc001480e30?, 0x56a84a?, 0xc0030c3860?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-13 17:41 netbsd-386-9_0 tools@ffb862b5 go@1ef685fb x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65450 serve.go:438: debug server listening at http://localhost:65449 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 13994): see golang/go#54461 for more details goroutine 17114 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xb71f560) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8d29cf8, 0x97a5700}, 0xad7ebb0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0x99a29a0, {0x8d29cf8, 0x97a5700}, {0x8d24d64, 0xb212768}, {0x8d24d64, 0xb212780}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0x99a29a0, {0x8d29cf8, 0x97a5700}, {0x8d24d64, 0xb212768}, {0x8d24d64, 0xb212780}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).ActivePackages(0x97c1b00, {0x8d29d18, 0x97456f8}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:1087 +0x2f golang.org/x/tools/gopls/internal/lsp.(*Server).diagnose(0xaf00d20, {0x8d29d18, 0x9c6d398}, {0x8d2f56c, 0x97c1b00}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:294 +0x15b4 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xaf00d20, {0x8d2f56c, 0x97c1b00}, {0xa8addf8, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:157 +0x2e2 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x8d2f56c, 0x97c1b00}, {0xa8addf8, 0x1, 0x1}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x8a created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x5c
2022-10-13 17:41 netbsd-amd64-9_0 tools@ffb862b5 go@89566448 x/tools/gopls/internal/regtest/workspace (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 12377): see golang/go#54461 for more details goroutine 6496 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc0035f6210) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11d8388, 0xc0031004e0}, 0xc0035f8160) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc00357d898, {0x11d8388, 0xc0031004e0}, {0x11cfa80?, 0xc00158f8c0}, {0x11cfa80?, 0xc00158f8f0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0x1093 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc00357d860?, {0x11d8388, 0xc0031004e0}, {0x11cfa80?, 0xc00158f8c0?}, {0x11cfa80?, 0xc00158f8f0?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc00324bb80?, {0x11d83c0, 0xc0015808d0}, {0xc0028ac900, 0x54}, 0x0?, 0x0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xc001bf3700, {0x11d83c0, 0xc001580660}, {0x11e4ee0, 0xc00324bb80}, {0xc002c532c0, 0x1, 0x50a603?}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x5ab golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc001bf3700, {0x11e4ee0, 0xc00324bb80}, {0xc002c532c0, 0x1, 0x1}, 0xc0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x1ff golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x11e4ee0?, 0xc00324bb80?}, {0xc002c532c0?, 0xc00324bb80?, 0xc0030dd8c0?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-13 20:55 netbsd-386-9_0 tools@9ffaf69c go@a8ca70ff x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 18084): see golang/go#54461 for more details goroutine 18618 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc946b10) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8cedde8, 0xdfd6600}, 0xd1109a0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xe1f8a1c, {0x8cedde8, 0xdfd6600}, {0x8ce8eb4, 0xc4ee0a8}, {0x8ce8eb4, 0xc4ee0c0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xe1f8a1c, {0x8cedde8, 0xdfd6600}, {0x8ce8eb4, 0xc4ee0a8}, {0x8ce8eb4, 0xc4ee0c0}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xb629080, {0x8cede08, 0x94a0978}, {0xb12b730, 0x63}, 0x0, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x136 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xdc00000, {0x8cede08, 0x94a0798}, {0x8cf2cdc, 0xb629080}, {0xcf3df60, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x319 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xdc00000, {0x8cf2cdc, 0xb629080}, {0xcf3df60, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x1be golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x8cf2cdc, 0xb629080}, {0xcf3df60, 0x1, 0x1}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x8a created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x5c

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-13 20:55 netbsd-386-9_0 tools@9ffaf69c go@8826bdd1 x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 14749): see golang/go#54461 for more details goroutine 20187 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xd7d0a80) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8cedde8, 0x972e940}, 0xc5f0630) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xf222a1c, {0x8cedde8, 0x972e940}, {0x8ce8eb4, 0x9daa888}, {0x8ce8eb4, 0x9daa900}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xf222a1c, {0x8cedde8, 0x972e940}, {0x8ce8eb4, 0x9daa888}, {0x8ce8eb4, 0x9daa900}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xf477680, {0x8cede08, 0xd64ac00}, {0xef51490, 0x62}, 0x0, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x136 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xd5fe3c0, {0x8cede08, 0xd64ab40}, {0x8cf2cdc, 0xf477680}, {0xdec94e0, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x319 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xd5fe3c0, {0x8cf2cdc, 0xf477680}, {0xdec94e0, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x1be golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x8cf2cdc, 0xf477680}, {0xdec94e0, 0x1, 0x1}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x8a created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x5c

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-13 20:55 netbsd-amd64-9_0 tools@9ffaf69c go@9ddb8ea7 x/tools/gopls/internal/regtest/workspace (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 18258): see golang/go#54461 for more details goroutine 18458 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc003fdbbf0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11b6450, 0xc0033fe540}, 0xc00373dce0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc003c79738, {0x11b6450, 0xc0033fe540}, {0x11adea0?, 0xc001957dd0}, {0x11adea0?, 0xc001957e00}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xef9 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc003c79700?, {0x11b6450, 0xc0033fe540}, {0x11adea0?, 0xc001957dd0?}, {0x11adea0?, 0xc001957e00?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc003494640?, {0x11b6488, 0xc001374de0}, {0xc00352ab40, 0x54}, 0x0?, 0x0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xc0029a6800, {0x11b6488, 0xc001374bd0}, {0x11c3618, 0xc003494640}, {0xc0025ccb50, 0x1, 0xc0026519e0?}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x3e3 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc0029a6800, {0x11c3618, 0xc003494640}, {0xc0025ccb50, 0x1, 0x1}, 0x0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x229 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x11c3618?, 0xc003494640?}, {0xc0025ccb50?, 0xc001b1a500?, 0xc000ceb260?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-17 12:57 netbsd-amd64-9_0 tools@b93a56f2 go@7ffc1e47 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65454 serve.go:438: debug server listening at http://localhost:65453 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 14135): see golang/go#54461 for more details goroutine 9936 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc0005b1d70) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x12040c0, 0xc0039013e0}, 0xc000ee1a20) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc001a67e68, {0x12040c0, 0xc0039013e0}, {0x11fbb00?, 0xc0010418f0}, {0x11fbb00?, 0xc001041920}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xef9 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc001a67e30?, {0x12040c0, 0xc0039013e0}, {0x11fbb00?, 0xc0010418f0?}, {0x11fbb00?, 0xc001041920?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xc0001d6780, {0x1204050, 0xc001c70c80}, 0x1, {0xc001f047a0, 0x2, 0xae67bd?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0xea5 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xc0001d6780, {0x1204050, 0xc001c70c80}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x1ff golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xc0001d6780, {0x1204050, 0xc001c70c80}, 0xc0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x192 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x49 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe4f

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-17 12:57 netbsd-amd64-9_0 tools@b93a56f2 go@c83d4fba x/tools/gopls/internal/regtest/completion (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 11323): see golang/go#54461 for more details goroutine 4004 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc003223500) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11877c0, 0xc002779a40}, 0xc0032b5080) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc002d57e68, {0x11877c0, 0xc002779a40}, {0x117f300?, 0xc0010ff560}, {0x117f300?, 0xc0010ff590}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc002d57e30?, {0x11877c0, 0xc002779a40}, {0x117f300?, 0xc0010ff560?}, {0x117f300?, 0xc0010ff590?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xc002894500, {0x1187750, 0xc002098100}, 0x1, {0xc001e58440, 0x2, 0xffffffffffffffff?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0xea5 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xc002894500, {0x1187750, 0xc002098100}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x1ff golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xc002894500, {0x1187750, 0xc002098100}, 0xe0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x192 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x49 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe4f

ā€” watchflakes

adonovan commented 1 year ago

From the last log, we're seeing that go list (pid 11323) is slow to complete, more than 1 minute, on the netbsd builder. We don't have the complete go list command, but we can tell from the output of ps that it is definitely running the compiler, which is surprising, as that should only be needed in -export mode, which gopls has no need for. Notice the three "(compile)" child processes in ps, plus all gopls' in/out/err pipes in fstat. The compile processes have all terminated (ps cannot display their argv arrays because the address spaces have been destroyed), yet the go list process has not closed its pipes.

ps axo ppid,pid,command:
-------------------------
 PPID   PID COMMAND
...
  314  6958 /tmp/workdir/go/bin/go test -short ./... 
 6958 10212 /tmp/workdir/tmp/go-build957980754/b501/completion.test -test.testl
11323 10917 (compile)
10212 11323 go list -modfile=/tmp/workdir/tmp/go.e8b79c677cbf58581b70654d24944f [truncated]
11323 11598 (compile)
11323 11901 (compile)
...
fstat:
-----
USER     CMD          PID   FD MOUNT       INUM MODE         SZ|DV R/W
...
root     go         11323   wd  /         1622282 drwxr-xr-x     512 r 
root     go         11323    0  /         1713612 crw-rw-rw-    null r 
root     go         11323    1* pipe 0xffff80320e6911a0 -> 0xffff803233ae22c0 w
root     go         11323    2* pipe 0xffff8031e6711d98 -> 0xffff803233ae2ea0 w
root     go         11323    3  /         1400146 -rw-r--r--   86547 r 
root     go         11323    4  /         1442046 -rw-r--r--    1115 r 
root     go         11323    5  /         1448217 -rw-r--r--     186 r 
root     go         11323    6  /         1442053 -rw-r--r--    3407 r 
root     go         11323    7  /         1442035 -rw-r--r--     195 r 
root     go         11323    8  /         1442034 -rw-r--r--    5573 r 
root     go         11323    9  /         1442142 -rw-r--r--    3069 r 
root     go         11323   10  /         1442405 -rw-r--r--     133 r 
root     go         11323   11  /         1442062 -rw-r--r--    2864 r 
root     go         11323   12  /         1442418 -rw-r--r--    1972 r 
root     go         11323   13  /         1442427 -rw-r--r--    3924 r 
root     go         11323   14  /         1348570 -rw-r--r--     393 r 
root     go         11323   15  /         1442421 -rw-r--r--    1036 r 
root     go         11323   16* pipe 0xffff8031a85218d0 <- 0x0 rn
root     go         11323   17* kqueue pending 0
root     go         11323   18* pipe 0xffff803253411638 <- 0xffff80325f6a22a8 rn
root     go         11323   19* pipe 0xffff80325f6a22a8 -> 0xffff803253411638 wn
root     go         11323   20* pipe 0xffff8032539119d0 <- 0x0 rn
root     go         11323   21* pipe 0xffff8030f7b30c70 <- 0x0 rn
root     go         11323   22* pipe 0xffff803283de7e80 <- 0x0 rn
root     go         11323   23* pipe 0xffff8031d28892d8 <- 0x0 rn
root     go         11323   24  /         1399130 -rw-r--r--     329 r 
root     go         11323   27* pipe 0xffff8030f7b30b40 <- 0x0 rn
root     go         11323   28* pipe 0xffff80319abc1c68 <- 0x0 rn
root     go         11323   29* pipe 0xffff8030db831e80 <- 0x0 rn
root     go         11323   34* pipe 0xffff803233637c48 <- 0x0 rn
root     go         11323   36  /         1713612 crw-rw-rw-    null r 
root     go         11323   37* pipe 0xffff8030f7b30090 <- 0xffff80304c451af0 rn
root     go         11323   38* pipe 0xffff80304c451af0 -> 0xffff8030f7b30090 wn
root     go         11323   39* pipe 0xffff8031a8521670 <- 0xffff80304c451170 rn
root     go         11323   40* pipe 0xffff80304c451170 -> 0xffff8031a8521670 wn
...
bcmills commented 1 year ago

The NetBSD hangs at this point are almost certainly a manifestation of #56180.

One of the compile subprocesses could plausibly be just go tool compile -V=full, used to obtain the cache ID for the compiler: https://cs.opensource.google/go/go/+/master:src/cmd/go/internal/work/buildid.go;l=162;drc=85b02de083b5e337bcb581005d0efca883fdb3d9

Unfortunately, without a more complete command line (or a SIGQUIT dump) I don't have a theory for what the other two compile processes might be.

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-17 19:48 netbsd-amd64-9_0 tools@fd32990e go@07c57aff x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 19616): see golang/go#54461 for more details goroutine 31203 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc006e95710) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x1196cc0, 0xc00027e6c0}, 0xc005ed8b00) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc0032b1e68, {0x1196cc0, 0xc00027e6c0}, {0x118e780?, 0xc00199f7d0}, {0x118e780?, 0xc00199f800}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc0032b1e30?, {0x1196cc0, 0xc00027e6c0}, {0x118e780?, 0xc00199f7d0?}, {0x118e780?, 0xc00199f800?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xc006c0b540, {0x1196c50, 0xc001691b00}, 0x1, {0xc0057a4b40, 0x2, 0x0?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0xea5 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xc006c0b540, {0x1196c50, 0xc001691b00}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x1ff golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xc006c0b540, {0x1196c50, 0xc001691b00}, 0xc0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x192 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x49 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe4f

ā€” watchflakes

adonovan commented 1 year ago

Yes, that does look like the explanation. (Nice work tracking that one down, BTW.)

I'll limit my attention to non-netbsd platforms going forward.

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-17 20:15 netbsd-amd64-9_0 tools@b2efd4d1 go@947091d3 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65458 serve.go:438: debug server listening at http://localhost:65457 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 18331): see golang/go#54461 for more details goroutine 36653 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc00815e8d0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11eb330, 0xc0092074a0}, 0xc00813a420) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1c5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc0091a5118, {0x11eb330, 0xc0092074a0}, {0x11e2f60?, 0xc0081615f0}, {0x11e2f60?, 0xc008161620}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0x104d golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc0091a50e0?, {0x11eb330, 0xc0092074a0}, {0x11e2f60?, 0xc0081615f0?}, {0x11e2f60?, 0xc008161620?}) ... golang.org/x/tools/gopls/internal/lsp/mod.Diagnostics({0x11eb368, 0xc00922d4a0}, {0x11f5840, 0xc007eade00}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/mod/diagnostics.go:32 +0x14e golang.org/x/tools/gopls/internal/lsp.(*Server).diagnose(0xc008bdb300, {0x11eb368, 0xc009585d10}, {0x11f5840, 0xc007eade00}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:230 +0x2cd golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc008bdb300, {0x11f5840, 0xc007eade00}, {0xc0080fc120, 0x1, 0x1}, 0x98?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:157 +0x2f1 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x11f5840?, 0xc007eade00?}, {0xc0080fc120?, 0xc001737d00?, 0xc0093187e0?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-18 15:43 netbsd-amd64-9_0 tools@a9b653b4 go@54ad7f33 x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 11150): see golang/go#54461 for more details goroutine 16029 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc0043700f0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x1196cf0, 0xc007580180}, 0xc006a19600) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc003e91850, {0x1196cf0, 0xc007580180}, {0x118e7e0?, 0xc0023f4360}, {0x118e7e0?, 0xc0023f4420}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc003e91818?, {0x1196cf0, 0xc007580180}, {0x118e7e0?, 0xc0023f4360?}, {0x118e7e0?, 0xc0023f4420?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc0064be500?, {0x1196d28, 0xc001966d50}, {0xc00073de60, 0x5e}, 0x0?, 0x0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xc0041c8400, {0x1196d28, 0xc001966ab0}, {0x11a3af8, 0xc0064be500}, {0xc005dacac0, 0x3, 0x53b2bba8d?}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x3e3 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc0041c8400, {0x11a3af8, 0xc0064be500}, {0xc005dacac0, 0x3, 0x4}, 0x40?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x229 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x11a3af8?, 0xc0064be500?}, {0xc005dacac0?, 0xc005d087e0?, 0xc0040bf230?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90
2022-10-18 15:43 netbsd-amd64-9_0 tools@a9b653b4 go@54ad7f33 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65436 serve.go:438: debug server listening at http://localhost:65435 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 18919): see golang/go#54461 for more details goroutine 45686 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc00761f410) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x12031b0, 0xc007b36a20}, 0xc00767a000) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc007d5fe68, {0x12031b0, 0xc007b36a20}, {0x11fac20?, 0xc0076701e0}, {0x11fac20?, 0xc007670210}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc007d5fe30?, {0x12031b0, 0xc007b36a20}, {0x11fac20?, 0xc0076701e0?}, {0x11fac20?, 0xc007670210?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xc007795900, {0x1203140, 0xc007a4f5c0}, 0x1, {0xc001347aa0, 0x2, 0xc00295d598?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0xea5 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xc007795900, {0x1203140, 0xc007a4f5c0}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x1ff golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xc007795900, {0x1203140, 0xc007a4f5c0}, 0xc0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x192 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x49 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe4f

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-19 20:55 netbsd-amd64-9_0 tools@9eda97bc go@947091d3 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65462 serve.go:438: debug server listening at http://localhost:65461 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 19998): see golang/go#54461 for more details goroutine 37271 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc001afcae0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11eb4b0, 0xc007a94600}, 0xc007895a20) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1c5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc007aa5e60, {0x11eb4b0, 0xc007a94600}, {0x11e30e0?, 0xc007ae3bc0}, {0x11e30e0?, 0xc007ae3bf0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0x104d golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc007aa5e28?, {0x11eb4b0, 0xc007a94600}, {0x11e30e0?, 0xc007ae3bc0?}, {0x11e30e0?, 0xc007ae3bf0?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xc007a86500, {0x11eb440, 0xc007919bc0}, 0x1, {0xc000bfa420, 0x2, 0x7f7ff7e9b1d8?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0x5a5 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xc007a86500, {0x11eb440, 0xc007919bc0}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x205 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xc007a86500, {0x11eb440, 0xc007919bc0}, 0xc0?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x195 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x49 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe18

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-19 21:54 netbsd-amd64-9_0 tools@91311ab3 go@81908762 x/tools/gopls/internal/regtest/modfile (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 9249): see golang/go#54461 for more details goroutine 1746 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc000b23ef0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x1191570, 0xc0006d80c0}, 0xc000326840) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc000eb7030, {0x1191570, 0xc0006d80c0}, {0x1189080?, 0xc0001e56b0}, {0x1189080?, 0xc0001e5710}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc000eb6ff8?, {0x1191570, 0xc0006d80c0}, {0x1189080?, 0xc0001e56b0?}, {0x1189080?, 0xc0001e5710?}) ... golang.org/x/tools/gopls/internal/lsp/mod.Diagnostics({0x11915a8, 0xc0007fdb00}, {0x119e378, 0xc0000dc000}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/mod/diagnostics.go:32 +0x185 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnose(0xc000a5c200, {0x11915a8, 0xc000695c80}, {0x119e378, 0xc0000dc000}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:230 +0x2d0 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc000a5c200, {0x119e378, 0xc0000dc000}, {0xc000089ac0, 0x2, 0x2}, 0x88?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:157 +0x319 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x119e378?, 0xc0000dc000?}, {0xc000089ac0?, 0xc0005fe528?, 0xc000591fb8?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-19 21:54 netbsd-amd64-9_0 tools@91311ab3 go@3e6ca3a5 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65458 serve.go:438: debug server listening at http://localhost:65457 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 12821): see golang/go#54461 for more details goroutine 13017 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc0006a3110) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x12046b0, 0xc002b926c0}, 0xc003c0d8c0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc00282de78, {0x12046b0, 0xc002b926c0}, {0x11fc120?, 0xc0012057a0}, {0x11fc120?, 0xc0012057d0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc00282de40?, {0x12046b0, 0xc002b926c0}, {0x11fc120?, 0xc0012057a0?}, {0x11fc120?, 0xc0012057d0?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0xc000d7c780, {0x1204640, 0xc001a35ec0}, 0x1, {0xc001f44400, 0x2, 0x2?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0xe92 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0xc000d7c780, {0x1204640, 0xc001a35ec0}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x1ff golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0xc000d7c780, {0x1204640, 0xc001a35ec0}, 0x80?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x192 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x49 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe4f

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-19 21:54 netbsd-386-9_0 tools@91311ab3 go@72c58fb7 x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65449 serve.go:438: debug server listening at http://localhost:65448 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 12847): see golang/go#54461 for more details goroutine 13290 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0x9e75ec0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8d52ec0, 0x98c4440}, 0xae47d90) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0x96e699c, {0x8d52ec0, 0x98c4440}, {0x8d4df14, 0xb2bac48}, {0x8d4df14, 0xb2bac60}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0x96e699c, {0x8d52ec0, 0x98c4440}, {0x8d4df14, 0xb2bac48}, {0x8d4df14, 0xb2bac60}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xc3fe600, {0x8d52ee0, 0xaab1cf8}, {0xc11b730, 0x64}, 0x0, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x136 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xa4260a0, {0x8d52ee0, 0xaab1c38}, {0x8d5876c, 0xc3fe600}, {0xa458bd0, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x319 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xa4260a0, {0x8d5876c, 0xc3fe600}, {0xa458bd0, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x1be golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x8d5876c, 0xc3fe600}, {0xa458bd0, 0x1, 0x1}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x8a created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x5c
2022-10-19 21:54 netbsd-386-9_0 tools@91311ab3 go@72c58fb7 x/tools/gopls/internal/regtest/modfile (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 8540): see golang/go#54461 for more details goroutine 1083 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0x9a70ed0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8ce9b28, 0x99e2e40}, 0x9bba9a0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0x98d0d38, {0x8ce9b28, 0x99e2e40}, {0x8ce4be4, 0x9825cf8}, {0x8ce4be4, 0x9825d10}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0x98d0d38, {0x8ce9b28, 0x99e2e40}, {0x8ce4be4, 0x9825cf8}, {0x8ce4be4, 0x9825d10}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).load(0x94023c0, {0x8ce9ae8, 0x9786930}, 0x1, {0x9c16370, 0x2, 0x2}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/load.go:136 +0xe89 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).loadWorkspace(0x94023c0, {0x8ce9ae8, 0x9786930}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:717 +0x235 golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).initialize(0x94023c0, {0x8ce9ae8, 0x9786930}, 0x1) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/view.go:651 +0x141 golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView.func5() /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:301 +0x47 created by golang.org/x/tools/gopls/internal/lsp/cache.(*Session).createView /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/session.go:299 +0xe0c

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-20 17:00 netbsd-386-9_0 tools@649df2ea go@828be9a7 x/tools/gopls/internal/regtest/diagnostics (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 11644): see golang/go#54461 for more details goroutine 23989 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xe73c6f0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8cd8728, 0xee819c0}, 0xd631e40) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1cc golang.org/x/tools/internal/gocommand.(*Invocation).run(0xb348a1c, {0x8cd8728, 0xee819c0}, {0x8cd3910, 0xcf942e8}, {0x8cd3910, 0xcf94300}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xde3 golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xb348a1c, {0x8cd8728, 0xee819c0}, {0x8cd3910, 0xcf942e8}, {0x8cd3910, 0xcf94300}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).PackagesForFile(0xec922c0, {0x8cd8748, 0xd6ad938}, {0xe66b140, 0x55}, 0x0, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:627 +0x136 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseChangedFiles(0xa46f860, {0x8cd8748, 0xd6ad878}, {0x8cdd108, 0xec922c0}, {0xd6864a0, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:189 +0x338 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xa46f860, {0x8cdd108, 0xec922c0}, {0xd6864a0, 0x1, 0x1}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:154 +0x1e0 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x8cdd108, 0xec922c0}, {0xd6864a0, 0x1, 0x1}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x8a created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x5c
2022-10-20 17:00 netbsd-amd64-9_0 tools@649df2ea go@828be9a7 x/tools/gopls/internal/regtest/workspace (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 11945): see golang/go#54461 for more details goroutine 214 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc0007f2870) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x119e248, 0xc00090a540}, 0xc0002a1ce0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1c5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc000904f90, {0x119e248, 0xc00090a540}, {0x1195ea0?, 0xc000832180}, {0x1195ea0?, 0xc0008321b0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0x104d golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc000904f58?, {0x119e248, 0xc00090a540}, {0x1195ea0?, 0xc000832180?}, {0x1195ea0?, 0xc0008321b0?}) ... golang.org/x/tools/gopls/internal/lsp/mod.Diagnostics({0x119e280, 0xc000232510}, {0x11a7540, 0xc0002f3900}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/mod/diagnostics.go:32 +0x14e golang.org/x/tools/gopls/internal/lsp.(*Server).diagnose(0xc000897100, {0x119e280, 0xc000817a70}, {0x11a7540, 0xc0002f3900}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:230 +0x2cd golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc000897100, {0x11a7540, 0xc0002f3900}, {0xc0002de0e0, 0x1, 0x1}, 0x2?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:157 +0x2f1 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x11a7540?, 0xc0002f3900?}, {0xc0002de0e0?, 0xc0002df310?, 0xc0003dd9c0?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-21 17:52 netbsd-amd64-9_0 tools@d476af71 go@9e7c5030 x/tools/gopls/internal/regtest/modfile (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 15096): see golang/go#54461 for more details goroutine 5360 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc000c6db60) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x11943d0, 0xc000b14c60}, 0xc000bf5340) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc000b9c988, {0x11943d0, 0xc000b14c60}, {0x118be80?, 0xc000fa6c90}, {0x118be80?, 0xc000fa6cf0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc000b9c950?, {0x11943d0, 0xc000b14c60}, {0x118be80?, 0xc000fa6c90?}, {0x118be80?, 0xc000fa6cf0?}) ... golang.org/x/tools/gopls/internal/lsp/protocol.ServerHandler.func1({0x1194408, 0xc000633320}, 0xc000e836b0, {0x1194788, 0xc000633260}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/protocol/protocol.go:157 +0x90 golang.org/x/tools/gopls/internal/lsp/lsprpc.handshaker.func1({0x1194408, 0xc000633320}, 0xc000e836b0, {0x1194788?, 0xc000633260?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/lsprpc/lsprpc.go:515 +0xa03 golang.org/x/tools/internal/jsonrpc2.MustReplyHandler.func1({0x1194408, 0xc000633320}, 0xc00011cc18, {0x1194788?, 0xc000633260?}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:35 +0xf6 golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2() /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:103 +0xa3 created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1 /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:100 +0x20a

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-21 17:52 netbsd-386-9_0 tools@d476af71 go@e43eebda x/tools/gopls/internal/regtest/modfile (log) DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ------------------------- PPID PID COMMAND ... panic: detected hanging go command (pid 13998): see golang/go#54461 for more details goroutine 4608 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0x99d6cf0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x519 golang.org/x/tools/internal/gocommand.runCmdContext({0x8ceb358, 0x961ef40}, 0x9909080) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x1a5 golang.org/x/tools/internal/gocommand.(*Invocation).run(0x99fa228, {0x8ceb358, 0x961ef40}, {0x8ce6414, 0x96c7f98}, {0x8ce6414, 0x96c7fb0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xd2f golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0x99fa228, {0x8ceb358, 0x961ef40}, {0x8ce6414, 0x96c7f98}, {0x8ce6414, 0x96c7fb0}) ... golang.org/x/tools/gopls/internal/lsp/protocol.ServerHandler.func1({0x8ceb378, 0x9a69950}, 0x9cd40f0, {0x8ceb558, 0x9a698d8}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/protocol/protocol.go:157 +0x79 golang.org/x/tools/gopls/internal/lsp/lsprpc.handshaker.func1({0x8ceb378, 0x9a69950}, 0x9cd40f0, {0x8ceb558, 0x9a698d8}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/lsprpc/lsprpc.go:515 +0x1ba golang.org/x/tools/internal/jsonrpc2.MustReplyHandler.func1({0x8ceb378, 0x9a69950}, 0x9a874e0, {0x8ceb558, 0x9a698d8}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:35 +0xd7 golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2() /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:103 +0x8e created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1 /tmp/workdir/gopath/src/golang.org/x/tools/internal/jsonrpc2/handler.go:100 +0x1cc

ā€” watchflakes

gopherbot commented 1 year ago

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang.org/x/tools/gopls` && 
        `DETECTED A HANGING GO COMMAND`
2022-10-21 20:44 netbsd-amd64-9_0 tools@2dcdbd43 go@d5efd0dd x/tools/gopls/internal/regtest/misc (log) serve.go:438: debug server listening at http://localhost:65453 serve.go:438: debug server listening at http://localhost:65452 DETECTED A HANGING GO COMMAND The gopls test runner has detected a hanging go command. In order to debug this, the output of ps and lsof/fstat is printed below. See golang/go#54461 for more details. ps axo ppid,pid,command: ... panic: detected hanging go command (pid 17479): see golang/go#54461 for more details goroutine 18990 [running]: golang.org/x/tools/internal/gocommand.HandleHangingGoCommand(0xc004bdb1d0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:333 +0x3d9 golang.org/x/tools/internal/gocommand.runCmdContext({0x1207e10, 0xc002a48900}, 0xc003d934a0) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:261 +0x19a golang.org/x/tools/internal/gocommand.(*Invocation).run(0xc004bcf548, {0x1207e10, 0xc002a48900}, {0x11ff820?, 0xc00226dec0}, {0x11ff820?, 0xc00226def0}) /tmp/workdir/gopath/src/golang.org/x/tools/internal/gocommand/invoke.go:234 +0xeec golang.org/x/tools/internal/gocommand.(*Invocation).runWithFriendlyError(0xc004bcf510?, {0x1207e10, 0xc002a48900}, {0x11ff820?, 0xc00226dec0?}, {0x11ff820?, 0xc00226def0?}) ... golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).ActivePackages(0x1207e48?, {0x1207e48, 0xc002255110}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/snapshot.go:1087 +0x45 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnose(0xc001edb200, {0x1207e48, 0xc0022e70e0}, {0x1216918, 0xc00269d540}, 0x0) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:294 +0x17ef golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshot(0xc001edb200, {0x1216918, 0xc00269d540}, {0xc002c83c10, 0x1, 0x1}, 0x88?) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:157 +0x319 golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots.func1({0x1216918?, 0xc00269d540?}, {0xc002c83c10?, 0xc001745d28?, 0xc0017b0fb8?}) /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:134 +0x85 created by golang.org/x/tools/gopls/internal/lsp.(*Server).diagnoseSnapshots /tmp/workdir/gopath/src/golang.org/x/tools/gopls/internal/lsp/diagnostics.go:132 +0x90

ā€” watchflakes