-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/go: TestLocalImportsHard flaky on Windows? #17419
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
Comments
I do not see how this is similar to #11217. In #11217 different tests were creating executable with the same name, running it and deleting it. This is not happening here. Only TestLocalImportsHard creates ./hard.exe, runs it and deletes it. I cannot reproduce it here, but I will keep looking into it. Alex |
I'm not sure how trybot is working on gpc, when the tests got timeout, all of processes will be killed correctly? |
@mattn, @bradfitz can say for sure, but I believe we start a whole new Windows VM for each trybot run. There shouldn't be any previous runs involved. @alexbrainman, it's not true that only TestLocalImportsHard creates hard.exe. So does TestBadImportsHard. They should run separately, and in any case, TestLocalImportsHard should be first, and TestBadImportsHard should not begin until the former is done. Regardless, I'll send a CL using different executable names. Then maybe we can close this until we see the flake again. |
Perhaps I am mistaken, but TestBadImportsHard calls copyBad (before it gets around to create hard.exe), but copyBad never returns on windows - it calls t.Skipf. Alex |
CL https://golang.org/cl/31815 mentions this issue. |
Just hit this again in https://storage.googleapis.com/go-build-log/d61981d9/windows-386-gce_1a546ff6.log |
Cannot reproduce with: VM=$(gomote create windows-386-gce) |
Just got another: https://storage.googleapis.com/go-build-log/c2e01024/windows-amd64-gce_7605eed0.log
|
Hmm, I ran this for 20 minutes. But it doesn't reproduce. myexe.go package main
import (
"fmt"
"time"
)
func main() {
time.Sleep(time.Second)
fmt.Println("ok")
} test.go package main
import (
"fmt"
"log"
"os"
"os/exec"
)
func main() {
for {
b, err := exec.Command("go", "build", "-o", "myexe.exe", "myexe.go").Output()
if err != nil {
log.Fatal(err)
}
b, err = exec.Command("myexe.exe").Output()
if err != nil {
log.Fatal(err)
}
fmt.Print(string(b))
err = os.Remove("myexe.exe")
if err != nil {
log.Fatal(err)
}
}
} |
No update since June when we could not reproduce the problem. Timed out. (Starting to wonder about virus scanners.) |
Saw flake in a trybot run on windows-386:
Related: #11217 ? Similar at least.
/cc @alexbrainman
The text was updated successfully, but these errors were encountered: