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
cmd/compile: SIGILL: illegal instruction on linux/arm #37513
Comments
This does look like a bug running the compiler itself. Is it easy to recreate? If you can recreate it under gdb, please run until the signal is received and use |
It's very strange that this is intermittent. That code (heapBitsSetType), and that line in particular, gets executed all the time. |
I built the compiler on linux/arm GOARM=6 for Go 1.13.7. The instruction looks fine to me:
Nothing looks like an invalid instruction. We should really print the bytes at the failing PC if we get a SIGILL. I'm going to close, as I don't see any way this could be anything other than a flake. Please reopen if you disagree. |
Change https://golang.org/cl/221431 mentions this issue: |
Print the bytes of the instruction that generated a SIGILL. This should help us respond to bug reports without having to go back-and-forth with the reporter to get the instruction involved. Might also help with SIGILL problems that are difficult to reproduce. Update #37513 Change-Id: I33059b1dbfc97bce16142a843f32a88a6547e280 Reviewed-on: https://go-review.googlesource.com/c/go/+/221431 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
@randall77 Many thanks for adding the debug! ❤️ Indeed I haven't been able to reproduce the issue, so it most certainly was a flake as you suggested, but this extra debug is great. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
I suspect it is intermittent, since it only occurred once, so I haven't tested on go 1.14. However this was in go 1.13.7. It occurred in our CI for a particular commit, so it may be reproducible with just this commit, or perhaps it is just an intermittent failure. It only occurred on one platform, although we build for several.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I ran this task.
It performed the following steps:
Please note the env variables referenced etc are included in the linked task definition, if required.
What did you expect to see?
Successful compilation. Note, the build was from this commit of our repository, which includes some misformed build constraints (such as a trailing comma).
What did you see instead?
The task produced these logs:
The text was updated successfully, but these errors were encountered: