Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build/cmd/coordinator: failing to complete TryBot run for change with duplicate Change-Id line #43324

Closed
dmitshur opened this issue Dec 22, 2020 · 3 comments
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented Dec 22, 2020

Visible at https://farmer.golang.org/#trybots right now:

Change-ID: build~master~Ib1c7ae1e914116dd8a4440db8ee46d6af3ed1ad5 Commit: 2ef1263f187de8f269f5758e268ba82ba6706580 (status)
   Remain: 0, fails: []
  linux-amd64: running=false
  linux-amd64-race: running=false
  windows-386-2008: running=false
  windows-amd64-2016: running=false
  linux-amd64: running=false
  linux-amd64: running=false

Note that it has 0 builds remaining, yet it's not completing.

This is related to #43312 and #43323, but about the specific instance above.

It is likely to do with the build~master~Ib1c7ae1e914116dd8a4440db8ee46d6af3ed1ad5 triplet being non-unique, so perhaps it's failing to post the TryBot result. Now that the more time-sensitive #43312 is resolved, it should be easier to look in logs to understand this part better.

CC @aclements.

@dmitshur dmitshur added Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Dec 22, 2020
@dmitshur dmitshur added this to the Unreleased milestone Dec 22, 2020
@dmitshur dmitshur self-assigned this Dec 22, 2020
@dmitshur
Copy link
Contributor Author

dmitshur commented Dec 22, 2020

@aclements pointed out that Gerrit won't let one upload new patch sets to such a Gerrit CL. That probably means it's not very useful to make coordinator work well it, since it's easy to just close and resend as a new CL with a unique Change-Id line.

I'll remove the "Run-TryBot" vote on CL 279514 and close as WontFix, since this issue is isolated to a single problematic Gerrit CL. If we get evidence that it's important to support this edge case, or if this becomes needed during investigation for #43323, we can revisit.

@cagedmantis
Copy link
Contributor

I believe I found a similar instance of this: https://farmer.golang.org/try?commit=48b8a530 which is for golang.org/cl/301589.

Change-ID: go~master~Ia979f971b9bf581b230d7d240ad4068e594eefe0 Commit: 48b8a5302be1746586011a115ed91f030372343f (status)
   Remain: 0, fails: [freebsd-amd64-12_0 linux-amd64 linux-386 windows-amd64-2016 windows-386-2008 linux-amd64-race openbsd-amd64-68 android-amd64-emu js-wasm]
  android-amd64-emu: running=false
  freebsd-amd64-12_0: running=false
  js-wasm: running=false
  linux-386: running=false
  linux-amd64: running=false
  linux-amd64-race: running=false
  misc-compile-darwin: running=false
  misc-compile-darwinarm64: running=false
  misc-compile-freebsd: running=false
  misc-compile-linuxarm: running=false
  misc-compile-mips: running=false
  misc-compile-netbsd: running=false
  misc-compile-openbsd: running=false
  misc-compile-other: running=false
  misc-compile-plan9: running=false
  misc-compile-ppc: running=false
  misc-compile-solaris: running=false
  openbsd-amd64-68: running=false
  windows-386-2008: running=false
  windows-amd64-2016: running=false
  linux-amd64: running=false

The commit message is:

testing: add diffing to clearly discern Example test failure output

Modifies Example test failure output to instead show a diff between
gotten and expected output. This ensures that users can see exactly
where the changes occured. It uses github.com/pkg/diff, because
out of the 2 final best diffing packages I examined, this one produced
the correct output that's very familiar to most developers.

An exhibit of this new change would be:

package p
import  "fmt"

func ExampleHello() {
        fmt.Printf("Hello \nWorld\nFuwer\n")

        // Output:
        // Pello
        // xorld
        // Fewer
}

which when run with "go test", produces the following output:

Change-Id: Ia979f971b9bf581b230d7d240ad4068e594eefe0

--- FAIL: ExampleHello (0.00s)
Output mismatch:
--- got
+++ want
@@ -1,3 +0,0 @@
-Hello
-World
-Fuwer
@@ -0,0 +1,3 @@
+Pello
+xorld
+Fewer

Thanks to the efforts led by Joshua Bleecher Snyder for implementing in Go,
the Eugene. W. Myers diffing algorithm in github.com/pkg/diff that's being used.

This change does a straight up go mod, vendor and import of github.com/pkg/diff
because that code is licensed to Joshua, so can't be directly brought into the Go
tree as an internal package until we've negotiated with him, but this CL is a start
to kickstart the conversation.

Fixes #41980

Change-Id: I5e1cd3357a5ae202a902060935b99fd1a821ba59

While this seems like it was user initiated, I wanted to make sure it was documented somewhere. I'm going to comment out the wrong Change-ID and restart the trybot run.

@dmitshur
Copy link
Contributor Author

Another instance in CL 313132.

We're making progress on fixing #45213, but if this keeps happening even after that, it might be worth reopening.

@golang golang locked and limited conversation to collaborators Apr 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

3 participants