go: runtime: failures in TestCtrlHandler with "could not read stdout: EOF" on windows-arm64
greplogs --dashboard -md -l -e 'FAIL: TestCtrlHandler'
2021-11-08T17:46:34-2e210b4/windows-arm64-10 2021-11-07T04:56:11-85493d5/windows-arm64-10 2021-11-05T22:53:55-3b7e376/windows-arm64-10 2021-11-05T22:30:17-b07c41d/windows-arm64-10 2021-11-05T21:34:10-bb53fd7/windows-arm64-10 2021-11-04T21:50:21-bfd74fd/windows-arm64-10 2021-11-04T21:40:51-2c32f29/windows-arm64-10 2021-11-04T20:01:10-9b2dd1f/windows-arm64-10
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 25 (24 by maintainers)
Okay, thanks! Yeah, if it is called via cgocallback, it would look like a regular Go function, so blocking the function probably will work.
Implementing preemptM shouldn’t be hard. But I agree we probably don’t do it in the freeze.
You’re spot on. That seems to be the problem. What happens is, I’m pretty sure, this:
This happens when a GC is needed between the signal has arrived and the signal is processed by the little test program, and would not happen on amd64 as preemptM is implemented there. For unknown reasons, GC sometimes happen early and there’n no neeed for GC between the signal arrives and the program is terminated in a normal way, sometimes a GC is needed in the “bad” situation.
I see three solutions:
I suggest 2 for 1.18, 3 for 1.19. Any input is welcome.