Michael Pratt

Results 178 comments of Michael Pratt

We are seeing this on our builders as well. For example: https://ci.chromium.org/ui/p/golang/builders/ci/gotip-linux-amd64-staticlockranking/b8752359739889548657/overview This seems like a recent regression.

Huh, @muhlemmer reports this on 1.22.1, not tip. On our builders, it looks like a very recent regression. https://ci.chromium.org/ui/test/golang/cmd%2Fcgo%2Finternal%2Ftestsanitizers.TestTSAN%2Ftsan14 shows the first failure was on 2024-03-25 in https://ci.chromium.org/ui/p/golang/builders/try/gotip-linux-amd64-boringcrypto/b8752453947853961217/test-results?sortby=&groupby=. So maybe...

TSAN implementation of errno spoiling: https://github.com/llvm/llvm-project/blob/d5224b73ccd09a6759759791f58426b6acd4a2e2/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp#L2123

@cherrymui Perhaps you can run the test under `strace` to see if the EINVAL is coming from a system call? Re: `SIGWINCH`, the only case I'm aware of using `SIGWINCH`...

Some observations I've made: `CompiledGoFiles` works fine for my system-install GOROOT: ``` $ go list -export -compiled -f '{{.CompiledGoFiles}}' runtime [alg.go arena.go atomic_pointer.go cgo.go cgo_mmap.go cgo_sigaction.go cgocall.go cgocallback.go cgocheck.go chan.go...

That does more-or-less work: ``` PATH=~/src/go/bin:$PATH ~/src/rf/rf -diff 'mv findrunnable findRunnable' diff old/runtime/proc.go new/runtime/proc.go --- old/runtime/proc.go +++ new/runtime/proc.go @@ -2590,7 +2590,7 @@ // Finds a runnable goroutine to execute. //...

Workaround to get Xcode on a gomote: Note: Depending on which machine you get, the `mac_toolchain` binary referenced below may be at either `/Users/swarming/.swarming/w/ir/tools/bin/mac_toolchain` or `/Volumes/Work/s/w/ir/tools/bin/mac_toolchain`. ``` $ gomote run...

With Xcode installed, this (thankfully) does reproduce (no pun intended): ``` $ gomote run mpratt-gotip-darwin-amd64-longtest-0 ./go/bin/go test -run=TestScript/build_plugin_reproducible -v cmd/go # Streaming results from "mpratt-gotip-darwin-amd64-longtest-0" to "/tmp/gomote2019819704/mpratt-gotip-darwin-amd64-longtest-0.stdout"... === RUN TestScript...

Complete recipe: Note: Depending on which machine you get, the `mac_toolchain` binary referenced below may be at either `/Users/swarming/.swarming/w/ir/tools/bin/mac_toolchain` or `/Volumes/Work/s/w/ir/tools/bin/mac_toolchain`. ``` $ export GOROOT=/home/prattmic/src/go/ # set to your GOROOT...

The only differences between a.so and b.so are something near the beginning of the file (still investigating) and the Go Build ID: ``` diff -C 5 a.hex b.hex *** a.hex...