Open gopherbot opened 5 months ago
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Looks like a real race. I will take a look.
Not a race: looks like a timezone / day boundary bug :facepalm:.
Change https://go.dev/cl/596316 mentions this issue: internal/upload: use UTC time in TestRun_Concurrent
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Ah, I real race. Looking.
Change https://go.dev/cl/598036 mentions this issue: internal/upload: fix upload locking
With x/tools/cmd/stress, I was able to reproduce this failure easily.
The CL above fixes the original locking logic to serve its intended purpose. But many more races exist around deleting counter files:
The fix above may reduce the flake rate to undetectable levels, but uploading is not concurrency safe. We need lock around the entire process of collecting, parsing, and aggregating reports, not just the final upload step, or give up on making uploading concurrency safe and rely on the Go command's existing guards.
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "golang.org/x/telemetry/internal/upload" && test == "TestRun_Concurrent"
Issue created automatically to collect these failures.
Example (log):
— watchflakes