go: cmd/compile: sporadic memory corruption on 386 (32-bit) builders
Various sweep increased allocation count
errors have started cropping up in or near go/build
invocations in various go
commands.
2020-03-15T08:13:55-32dbccd/linux-386-clang 2020-03-14T07:03:15-d774d97/linux-386-sid 2020-03-16T20:59:27-ff1eb42/linux-386-387 2020-03-15T08:13:55-32dbccd/linux-386-clang 2020-03-14T07:03:15-d774d97/linux-386-sid 2020-03-13T20:43:12-e2a9ea0/openbsd-386-62
Since go/build
is involved, this may be related to the go/types
crash cluster (#37602, #37507, #37690).
CC @griesemer @matloob @aclements @danscales @mknyszek @cherrymui
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 25 (17 by maintainers)
Commits related to this issue
- cmd/compile: indexed loads/stores can't be faultOnNilArg0 Because of the index, these ops can't guarantee faulting if arg0 is nil. Clean up the PPC64 index ops - they can't take a sym or an offset. ... — committed to golang/go by randall77 4 years ago
- cmd/compile: disable mem+op operations on 386 Rolling back portions of CL 222782 to see if that helps issue #37881 any. Update #37881 Change-Id: I9cc3ff8c469fa5e4b22daec715d04148033f46f7 Reviewed-o... — committed to golang/go by randall77 4 years ago
- cmd/compile: disable addressingmodes pass for 386 Update #37881 Change-Id: I1f9a3f57f6215a19c31765c257ee78715eab36b7 Reviewed-on: https://go-review.googlesource.com/c/go/+/225057 Run-TryBot: Keith R... — committed to golang/go by randall77 4 years ago
- Revert "cmd/compile: disable addressingmodes pass for 386" This reverts commit CL 225057. Reason for revert: Undoing partial reverts of CL 222782 Update #37881 Change-Id: Iee024cab2a580a37a0fc355e... — committed to golang/go by randall77 4 years ago
- Revert "cmd/compile: disable mem+op operations on 386" This reverts commit CL 224837. Reason for revert: Reverting partial reverts of 222782. Update #37881 Change-Id: Ie9bf84d6e17ed214abe538965e5f... — committed to golang/go by randall77 4 years ago
- Revert "cmd/compile: convert 386 port to use addressing modes pass" This reverts commit CL 222782. Reason for revert: Reverting to see if 386 errors go away Update #37881 Change-Id: I74f287404c524... — committed to golang/go by randall77 4 years ago
- cmd/compile: convert 386 port to use addressing modes pass (take 2) Retrying CL 222782, with a fix that will hopefully stop the random crashing. The issue with the previous CL is that it does pointe... — committed to golang/go by randall77 4 years ago
- cmd/compile: fix ephemeral pointer problem on amd64 Make sure we don't use the rewrite ptr + (c + x) -> c + (ptr + x), as that may create an ephemeral out-of-bounds pointer. I have not seen an actua... — committed to golang/go by randall77 4 years ago
I’m going to declare this fixed. The original CL with fixed rules is in, both for 386 and amd64. I’m not seeing any similar failures on the dashboard since the fixes went in.
I might have figured out what is wrong. Read the description of the CL above for all the gory details. I’m not 100% sure, but enough so to try and submit this again and see what happens (I still can’t reproduce outside trybots).