golang / go

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

x/text/unicode/runenames: incorrect rune name on the aix-ppc64 builder #67526

Closed findleyr closed 5 months ago

findleyr commented 5 months ago

While investigating #65072, I added a test to narrow down an aix-ppc64 builder failure to the x/text package. This is the entire content of that test (Source):

func TestHoverLit_Issue65072(t *testing.T) {
    // This test attempts to demonstrate a root cause of the flake reported in
    // https://github.com/golang/go/issues/65072#issuecomment-2111425245 On the
    // aix-ppc64 builder, this rune was sometimes reported as "LETTER AMONGOLI".
    if got, want := runenames.Name(0x2211), "N-ARY SUMMATION"; got != want {
        t.Fatalf("runenames.Name(0x2211) = %q, want %q", got, want)
    }
}

Sample failure: https://build.golang.org/log/1627876befc9a306fd0cb1b6c9f21c9cdb42c1df

--- FAIL: TestHoverLit_Issue65072 (0.00s)
    hover_test.go:18: runenames.Name(0x2211) = "LETTER AMONGOLI", want "N-ARY SUMMATION"

I've not investigated further, but it appears that x/text is somehow returning an incorrect rune name on this builder.

CC @golang/aix @golang/ppc64

gopherbot commented 5 months ago

Change https://go.dev/cl/586777 mentions this issue: gopls/internal/golang: remove test debugging aix-ppc64 issue

findleyr commented 5 months ago

I'm removing the above test from gopls now that this is confirmed not to be a gopls issue. However, I'll note that the test did not fail deterministically. Instead, it was flaky, which is surprising given the nature of the failure, and seems to confirm that this is a bug: image

findleyr commented 5 months ago

The original failures started around May 2nd. Looking at CLs around that time, this looks like a potential culprit: https://go.dev/cl/581937

CC @dr2chase @eliben @pmur

pmur commented 5 months ago

Yes, that is my suspicion too. I'll investigate.

gopherbot commented 5 months ago

Change https://go.dev/cl/586915 mentions this issue: cmd/compile/internal/ssa: fix ppc64 merging of (CLRLSLDI (SRD ...))