Very occasionally, at least on linux/386, strace itself will crash in
TestUsingVDSO. Detect these crashes and just skip the test.
Fixes #63734.
Change-Id: I050494459d47dd96c0b8dc0b16353cb532fba93e
Reviewed-on: https://go-review.googlesource.com/c/go/+/556357
Auto-Submit: Austin Clements <austin@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
"os"
"os/exec"
"path/filepath"
+ "syscall"
"testing"
"time"
)
t.Logf("%s", out)
}
if err != nil {
+ if err := err.(*exec.ExitError); err != nil && err.Sys().(syscall.WaitStatus).Signaled() {
+ if !bytes.Contains(out, []byte("+++ killed by")) {
+ // strace itself occasionally crashes.
+ // Here, it exited with a signal, but
+ // the strace log didn't report any
+ // signal from the child process.
+ t.Log(err)
+ testenv.SkipFlaky(t, 63734)
+ }
+ }
t.Fatal(err)
}