-
Notifications
You must be signed in to change notification settings - Fork 18k
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: TestNumGoroutine flaky #14107
Comments
You filed this just as I sent a CL: https://go-review.googlesource.com/18938 |
CL https://golang.org/cl/18938 mentions this issue. |
This has been flaking on the new OpenBSD 5.8 builders lately: https://storage.googleapis.com/go-build-log/808270e7/openbsd-amd64-gce58_61ce2663.log (as one example) Add more debug info when it fails. Updates #14107 Change-Id: Ie30bc0c703d2e9ee993d1e232ffc5f2d17e65c97 Reviewed-on: https://go-review.googlesource.com/18938 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
And we have output: http://build.golang.org/log/27397aad98df8b5ba9c800480156ed29b95f5dd9
|
Hey, now one on Linux-arm! https://storage.googleapis.com/go-build-log/fae00030/linux-arm_acd2e3b8.log
|
/cc @aclements for any hints |
The goal of the check there (which I only added relatively recently) was to make sure that NumGoroutine was not consistently different from than the number of stacks shown (because one includes system goroutines and one does not). The check is fundamentally racy in that they might see different pictures of the world. I sent CL 19002 to try to reduce the race window. That may be enough. We'll see. In any event I'm not worried about the failures, except as far as they are annoying. Hopefully that CL will cut the frequency enough. If not we can do a retry loop up to 10 times or something. |
Is it suspicious at all that goroutine 4's trackback in the linux-arm repro doesn't have a "created by" line? |
Plus, since Stack stops and restarts the world, it's throwing the scheduler state in to the air, which is probably making this sort of thing more likely. I think Russ is right that the best we can do is retry a few times. |
I was wondering about that, too. That goroutine is the runfinq goroutine, so it was created by a runtime function. printcreatedby elides the "created by" message using the same rules that apply to eliding frames, so it doesn't get printed. |
@aclements Duh, thanks! Somehow |
runtime.TestNumGoroutine has flaked at least 3 times recently on openbsd/amd64 with the same failure message:
http://build.golang.org/log/3d5e0edfe768d25a87fe5b3806ec2f846cdfa34f
http://build.golang.org/log/3199fe0c622947092e3fd724dc95176bc6513795
http://build.golang.org/log/b6527fd60a2a459e2c6d1ed2d34fcf7121806f92
The text was updated successfully, but these errors were encountered: