-
Notifications
You must be signed in to change notification settings - Fork 17.5k
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
runtime/pprof: TestMutexProfile failures #62094
Comments
Found new dashboard test flakes for:
2023-08-17 01:30 darwin-amd64-race go@1c003540 runtime/pprof.TestMutexProfile (log)
|
(attn @dr2chase) |
Oof, looks like it's failing this way at almost every commit on Probably a regression in https://go.dev/cl/506415? (attn @mknyszek, @rsc) |
Found new dashboard test flakes for:
2023-08-17 01:30 linux-arm64-race go@1c003540 runtime/pprof.TestMutexProfile (log)
2023-08-17 01:30 linux-s390x-ibm go@1c003540 runtime/pprof.TestMutexProfile (log)
2023-08-17 05:23 freebsd-riscv64-unmatched go@2fcfdb96 runtime/pprof.TestMutexProfile (log)
2023-08-17 05:23 linux-arm64-race go@2fcfdb96 runtime/pprof.TestMutexProfile (log)
2023-08-17 16:36 freebsd-amd64-race go@36fc7214 runtime/pprof.TestMutexProfile (log)
2023-08-17 16:36 netbsd-arm64-bsiegert go@36fc7214 runtime/pprof.TestMutexProfile (log)
|
Oof. This looks like a test maybe wasn't updated. Looking. |
No, the test was clearly updated, so perhaps it's wrong in some cases (or there's a bigger issue). |
Found new dashboard test flakes for:
2023-08-17 16:33 linux-s390x-ibm go@51fd0cb3 runtime/pprof.TestMutexProfile (log)
2023-08-17 16:36 linux-amd64-longtest-race go@ff47dd1d runtime/pprof.TestMutexProfile (log)
|
I see, the test didn't actually used to check how much contention accumulated, now it requires contention to be within [9 seconds, 20 seconds]. It may actually be that this is too flaky a condition to try and write a test about. A lot of these are only just over the threshold, but the s390x failure is waaaaay over. |
Here's an idea: only check the lower-bound, not the upper bound. That's really all the new behavior is about anyway. OS scheduling can always interfere and make the timing go sky-high. It's much harder to make the time be less than that, though there is still an opportunity because the sleep happens before all the other goroutines have properly blocked. OK, I have an idea. I will send a patch. At the very least it should downgrade this issue from Soon, even if it doesn't fully resolve the flakes. |
Can the contention be bounded above by something else (maybe |
It's contention per goroutine. I didn't totally remove the upper bound, but it set it to be on the order of a test timeout. |
I think the only non-flaky way to really check the math would be to stub out time altogether, but that's pretty difficult to do. |
Change https://go.dev/cl/520635 mentions this issue: |
Found new dashboard test flakes for:
2023-08-17 21:51 linux-amd64-longtest-race go@639f6f7e runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 22:56 linux-s390x-ibm go@ab3332ee runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 21:35 darwin-amd64-race go@bcf83825 runtime/pprof.TestMutexProfile (log)
2023-08-17 21:35 netbsd-arm64-bsiegert go@bcf83825 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 14:32 openbsd-arm-jsing go@99b80993 runtime/pprof.TestMutexProfile (log)
2023-08-17 20:40 openbsd-arm-jsing go@11390998 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-18 11:58 windows-amd64-race go@925d2fb3 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-18 11:58 linux-arm64-race go@925d2fb3 runtime/pprof.TestMutexProfile (log)
2023-08-18 11:59 linux-arm64-race go@d63c88d6 runtime/pprof.TestMutexProfile (log)
2023-08-18 15:53 linux-arm64-race go@b65e34f0 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-18 11:59 darwin-amd64-race go@d63c88d6 runtime/pprof.TestMutexProfile (log)
|
All these failures are from commits earlier than e8a767b. |
Found new dashboard test flakes for:
2023-08-18 11:59 linux-riscv64-unmatched go@d63c88d6 runtime/pprof.TestMutexProfile (log)
2023-08-18 15:53 linux-riscv64-unmatched go@b65e34f0 runtime/pprof.TestMutexProfile (log)
|
Both from earlier commits as well. |
Found new dashboard test flakes for:
2023-08-17 19:37 darwin-amd64-race go@2c51ea11 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 19:36 darwin-amd64-race go@7e2e648a runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 16:36 darwin-amd64-race go@ff47dd1d runtime/pprof.TestMutexProfile (log)
|
These are all from old Go versions, because they don't have the new failure output. |
Found new dashboard test flakes for:
2023-08-17 16:23 darwin-amd64-race go@469d9e26 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-18 15:53 ios-arm64-corellium go@b65e34f0 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 20:02 ios-arm64-corellium go@b75ac7a8 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 19:36 ios-arm64-corellium go@5c6fbd2c runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 16:33 ios-arm64-corellium go@f278ae61 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 16:33 ios-arm64-corellium go@51fd0cb3 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 14:27 linux-riscv64-unmatched go@4e336b8e runtime/pprof.TestMutexProfile (log)
2023-08-17 16:21 linux-riscv64-unmatched go@7af31076 runtime/pprof.TestMutexProfile (log)
2023-08-17 19:37 linux-riscv64-unmatched go@48e05ee7 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-08-17 14:27 ios-arm64-corellium go@4e336b8e runtime/pprof.TestMutexProfile (log)
2023-08-17 16:21 ios-arm64-corellium go@7af31076 runtime/pprof.TestMutexProfile (log)
|
Found new dashboard test flakes for:
2023-09-08 19:14 linux-mipsle-rtrk go@dfbf809f runtime/pprof.TestMutexProfile (log)
|
This last one from linux-mipsle-rtrk is real. All the other ones are from before the fix. |
Removed release-blocker and Soon labels because this has only appeared on linux-mipsle-rtrk after the test fix. The rate of failures is also clearly very low at this point. |
Found new dashboard test flakes for:
2024-01-26 17:17 gotip-windows-arm64 go@c21d118a runtime/pprof.TestMutexProfile/proto (log)
|
Issue created automatically to collect these failures.
Example (log):
— watchflakes
The text was updated successfully, but these errors were encountered: