-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
runtime: TestCtrlHandler
fails when run manually on a windows-amd64-2016
gomote
#51602
Comments
CC @zx2c4 |
Change https://go.dev/cl/391799 mentions this issue: |
I'm out of ideas on how to properly "fix" the test. The test case works by starting the sub-process in a new console window, and then Not sure what's special about https://go.dev/cl/261057 mostly iterated on variations of the test. Maybe these can guide a look for alternatives? I'd need to be able to replicate the bug myself to try. |
I am able to reproduce the test failure locally (on a Windows desktop machine) via the following steps:
|
OK, thanks. I'll look into it, but from a quick test it doesn't look good. I get the same error message if I try to |
FWIW, it appears that in this case the program is running under a pseudo-console: I haven't yet found a way (other than the |
That link was very instructive @bcmills. |
If But my suspicion (based on the failure mode here) is that perhaps |
I think it does. But neither |
If you want to use InitializeProcThreadAttributeList in syscall package, you can do that. We already use InitializeProcThreadAttributeList to implement SysProcAttr.ParentProcess. We can add more code there. But I am not sure it is worth the trouble. @bcmills is it possible for Thank you. Alex |
It's definitely possible, but I agree it's not worth the trouble, unless we explicitly want to support launching a process in a new pseudo-console. But that's an entire feature request, not a test bug fix. |
@alexbrainman, I don't know of any way for the test to determine that it's running under a gomote, and even if there were that's not necessarily the only circumstance in which it would be connected to a pseudo-console (which it seems to me is the real condition we want to check for). |
@bcmills I have an alternative fix that allows the test to run under SSH. I can make any necessary fixes, including adding the timeout from https://go.dev/cl/391799 |
Change https://go.dev/cl/392874 mentions this issue: |
I added some commits to #51681, but @gopherbot doesn't seem to be picking them up. |
The bot is badly backlogged. I'll keep an eye on it and send the TryBots for another spin on the Gerrit CL once it's back. |
What version of Go are you using (
go version
)?A clean build from source at commit 914195c on a
windows-amd64-2016
gomote.Does this issue reproduce with the latest release?
I have no reason to believe otherwise.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
What did you expect to see?
The test should either pass or skip itself.
What did you see instead?
The test also fails in the same way when run by
dist test
:I updated the test to log the output from the failing
taskkill.exe
invocation, and saw:This test was added in CL 261057 for #41884 (CC @ncruce @alexbrainman @zx2c). For some reason it is not failing on the
windows-amd64-longtest
builder, but thegomote
environment is substantially different from the environment actually used by the buildlet (see #32430).The text was updated successfully, but these errors were encountered: