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
Build from ziglang.org fails on older processor (AMD A8-3500M) w/o SSE4.1 support #8562
Comments
/cc @jayschwa |
The cronjob had stopped working for about a month and I kicked it loose a day or two ago. I did not see a crash on my own system (Linux x86-64) at the time. I'm not at the dev machine to poke at it at the moment, but does the same thing happen with the downloaded tarball from the website? |
In gdb can you see the cause of the illegal instruction? Is it |
I'm unable to reproduce on x86-64 with version 0.8.0-dev.1975+01a136585. The following is a hash to check if your installation is somehow corrupted:
|
The sha256 hash matches. This is the instruction:
|
It looks like that instruction was introduced in SSE4.1 and your older processor does not support it. I guess the next thing to check is if Zig's default builds can have their target ratcheted down. |
It looks like the CI scripts are targeting the "baseline" CPU, so I would not expect it to emit SSE4.1 instructions in that case. I'm going to tentatively mark this as a build system bug. |
With the merge of the LLVM12 branch, I bumped up our CI tarballs to x86_64_v2. I did not expect anyone to have hardware old enough that this would be an issue. Since it is I will be happy to revert that change and put it back to x86_64 baseline. Thanks for the report. |
I only see x86_64_v2 used in the the macos_script, so it's not clear to me how that applies to the Linux builds. What am I missing? |
Thanks for the explanation. The laptop is 10 years old so its not a big deal.. I can also just build it from source. |
The linux CI job downloads a tarball with prebuilt LLVM, clang, LLD that I made on my computer with x86_64_v2 and uploaded. It's a mistake that I did not also set the CPU to that for the zig code as well. The stack trace we see above is in LLVM code, so that checks out. |
I am using Zig on a similarly old netbook and was bitten by this as well. I just want to say thanks to Andrew for going out of your way to include folks who are still using old hardware 😄 |
Same issue here - wrote lots of zig code on an old x86_64 thinkpad and zig starting saying illegal instruction with 0.8. Whereas 0.7.1 works a-ok. Will be happy to see binaries support for pre-SSE4 restored. |
@andrewrk when will it be fixed? |
With the release of 0.8.1. It will at least be after LLVM 12.0.1 |
Same issue on an old Thinkpad. Now that LLVM 12.0.1 is released, will this be fixed in master soon? |
same issue with i386 0.8.0 release and pre-0.9.0 master built from ziglang/zig-bootstrap@a52b6be with qemu-UTM and iSH virtual CPUs |
@justjosias @frmdstryr try if you don't have @dullbananas note this doesnt help for ish as it segfaults later, see ish-app/ish#1495 |
Same issue here, using AMD Phenom II X6 1100t, can't run 0.8.0 or master. |
Fixed with the release of 0.8.1 |
Thank you! |
Starting today running zig from snap just exits with "Illegal instruction", it has been working fine for several months...
With gdb...
Edit: This is on an old laptop..
The text was updated successfully, but these errors were encountered: