-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/compile: "exec format error" when running newly-built binary on linux-loong64-3a5000 #53116
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
Comments
Change https://go.dev/cl/408938 mentions this issue: |
(This will cause 'greplogs --triage' to filter out this builder by default.) Updates golang/go#53116. Change-Id: Ib238c641b83f6aec3d1fd75933b7d8593313da21 Reviewed-on: https://go-review.googlesource.com/c/build/+/408938 Reviewed-by: Alex Rakoczy <[email protected]> Run-TryBot: Bryan Mills <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
Can't reproduce locally as well. @golang/loong64, would you try reproducing in a fresh environment (you could use a Gentoo chroot) and latest kernel? |
This is an occasional problem, sometimes running all.bash can reproduce it locally, but the cause has not been found out for the time being, need futher investigation. |
Can you try to somehow save a copy of the faulty executable next time this happens? Might be helpful for debugging. |
FYI. And we found that the file was malformed lost 16KB of data at its beginning. |
Update: problem may be pinpointed, it's likely due to some interesting race involving fallocate and/or mmap. The Loongson team should be working on this shortly, and I'll be helping. |
On some linux/loong64 machines, an "exec format error" error occasionally occurs when executing the make.bash or all.bash. Check these executable files with errors, it is found that the data of 16K(only one pagesize) at the beginning of the file is missing. The result of hexdump is as follows:
This problem is caused by the occasional loss of 16K data at the beginning of the file after the link process calls the syscall.Fallocate function for the second time. However, not all machines can reproduce this error (the file system formats I tested include xfs, ext4, tmfs ). |
Change https://go.dev/cl/445835 mentions this issue: |
No recent failures reported by |
Change https://go.dev/cl/465156 mentions this issue: |
Hi, I've revisited this and it indeed seems to be fixed by kernel people in v6.1 (it was a folio regression across the board from 5.17 to 6.0), discovered by our investigation, so IMO this issue could be closed as completed. Thanks for the triage. |
I had initially added known issues fairly aggressively in order to use them to reduce noise in 'greplogs -triage'. Now that we are using 'watchflakes' for triage, that noise reduction is no longer important (the failures are already clustered to their respective known issues), and having greyed-out cells on the dashboard makes new regressions too easy to miss. Concretely: - golang/go#42212 is mostly specific to x/net at this point (as golang/go#57841) - There have been no failures matching golang/go#51001 since October. - golang/go#52724 has been so rare lately that we hadn't yet added a 'watchflakes' pattern for it. - There have been no failures matching golang/go#51443 since May. - There have been no failures matching golang/go#53116 or golang/go#53093 since I enabled 'watchflakes' for the builder in December. - The linux-amd64-perf builder seems to be passing consistently for x/benchmarks and x/tools, so there is no need to refer to golang/go#53538 to explain failures on it. Change-Id: Ia16db2a23e5fa037a299f1f56fb26f1cf84521e1 Reviewed-on: https://go-review.googlesource.com/c/build/+/465156 Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Auto-Submit: Bryan Mills <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
greplogs -l -e '(?ms)\Alinux-loong64.*exec format error'
2022-05-26T20:17:08-ec92580/linux-loong64-3a5000
2022-05-26T18:56:07-e6d8b05/linux-loong64-3a5000
2022-05-20T23:05:38-bc2c85a-c3470ca/linux-loong64-3a5000
2022-05-18T15:15:29-5e4e11f-bc2e961/linux-loong64-3a5000
2022-05-02T18:38:26-af99c20/linux-loong64-3a5000
(attn @golang/loong64)
The text was updated successfully, but these errors were encountered: