-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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: re-enable TestCgoCallbackGC flaky on FreeBSD #16396
Comments
Our FreeBSD builders run on GCE. I can create you an instance there. |
That would help if you have time. Thanks. |
@ianlancetaylor, done. Emailed you details. |
I think I was incorrect in thinking that this was related to the other FreeBSD problems. The other FreeBSD problems are less frequent, and I have not been able to recreate them at all. I now think this is the same as issue #13926: a problem that arises when there are many simultaneous callbacks from C to Go, which is exactly what the CgoCallbackGC test case does. The problem is that on FreeBSD you can surprisingly large delays during the callback. My theory is that when enough of those delays occur, the test times out. That is consistent with the failures reported on the builder, which are in all cases the program crashing from SIGQUIT; SIGQUIT is sent by the runtime test harness when the test program runs for more than 1 minute ( Working on a patch. |
CL https://golang.org/cl/25047 mentions this issue. |
|
We may just have to punt on this for Go 1.7, which should be okay since IIUC this is not a regression in Go 1.7. (Or is it?) |
To the best of my knowledge this is not a regression in 1.7. |
@adg, @broady, should we at least document this as a known issue in the release notes for Go 1.7? And then punt this to Go 1.8 for actually fixing. It'd be a pity to ship something with known crashes for a "first class port". I'd rather warn FreeBSD users about this bug so they don't deploy something with cgo callbacks in production and see crashes. |
Agree, sounds like the right move. On 27 July 2016 at 15:46, Brad Fitzpatrick [email protected] wrote:
|
Maybe, but if it's not a regression then the release notes isn't really the place for this. We could say something like "Reduced runtime crashes on FreeBSD, but the issue is still present. See Issue 16396." |
I don't think it matters whether it's a regression. Had I known about this in Go 1.6 I would have also argued we need a dedicated "Known Issues" section in our release notes, especially for first class ports. Or: we demote FreeBSD to no longer be a first-class port. |
I suppose it wasn't known at the time, so we couldn't document as a known issue. SGTM. Perhaps we should also amend the 1.6 release notes (with a date for said addendum). |
CL https://golang.org/cl/25283 mentions this issue. |
Updates #16396 Change-Id: I7b4f85610e66f2c77c17cf8898cc41d81b2efc8c Reviewed-on: https://go-review.googlesource.com/25283 Reviewed-by: Chris Broadfoot <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Reviewed-by: Andrew Gerrand <[email protected]>
CL https://golang.org/cl/27313 mentions this issue. |
The trybot flakes are a nuisance. Updates #16396 Change-Id: I8202adb554391676ba82bca44d784c6a81bf2085 Reviewed-on: https://go-review.googlesource.com/27313 Run-TryBot: Josh Bleecher Snyder <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Does anyone have any tips on reproducing this?
Test machine is dual E5-2640 @ 2.50GHz running FreeBSD 11.0-RELEASE-p3 go version go1.7.3 freebsd/amd64 |
Also testing this on 10.1 (metal) and 10.2 (gce VM) currently nothing longer than 8 seconds, tests are still running. |
Test has been running in a loop on three different machines for over 28 hours not a single failure so far. |
@stevenh Which version of FreeBSD? It's possible that changes to the kernel scheduler have eliminated the problem. As it says in https://golang.org/cl/25047 the problem was much worse on FreeBSD than on GNU/Linux for some reason. Or of course it's possible that something we've changed in the runtime has fixed the problem, though I don't know what that could be. |
I tested on 10.1 (metal), 10.2 (GCE) and 11 (metal) all under golang 1.7.3. With all machines clearing well over 24 hours (coming up to 32 now) on tight loop running this test I think it may be good to remove the 604efe1 for 1.8 to see if we can confirm it is indeed no longer an issue. |
All three machines have now been running the test in loop for over 3 days no errors. |
Thanks for trying it so thoroughly. Sounds like this issue can be closed. |
@ianlancetaylor, did you mean to close this? It sounds like we need to at least remove the |
CL https://golang.org/cl/33903 mentions this issue. |
CL https://golang.org/cl/33926 mentions this issue. |
Change-Id: I811e76c9f42505e974bea634d4ded2499e4893db Reviewed-on: https://go-review.googlesource.com/33926 Reviewed-by: Ian Lance Taylor <[email protected]>
Hello,
System is an ALLWINNER A20 running FreeBSD 11.0-RELEASE-p2. I've noticed CGO_ENABLED was off by default because the bootstrap 1.4.3 compilers need to be built with CGO_ENABLED=0. |
@paulzhol This issue is closed and the problem you are reporting has different symptoms. Please open a new issue with the details. Thanks. |
@ianlancetaylor I've opened #18811 but I do have the following in my log which look like the "Most are:" example in the original issue:
But the builder failed to push that:
|
I see a number of recent TestCgoCallbackGC flakes on FreeBSD
amd64:
https://build.golang.org/log/c47d9b4fe69df9c91af66122e7633f77cb623794
https://build.golang.org/log/2c93bb5f172cf8082a80bd567628bcea4f437c20
https://build.golang.org/log/92ad760a01e814bb0021486856b4d3123a4a11b7
386:
https://build.golang.org/log/47a3e8462838b94a69459a3e56de5ea852b5e86e
https://build.golang.org/log/d6604ec508fd4166c46bd6fb3e04a4b0fb945959
https://build.golang.org/log/85e6aab2ff5692ee7372f03dd187fc555f8a685c
Most are:
Some are:
Why did these start recently?
The text was updated successfully, but these errors were encountered: