-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Spurious "syntax error in VERSION script" when linking the sanitizers on dist-x86_64-linux-alt
#50887
Comments
I wonder if this is something like a concurrency related bug in clang? Like maybe a linker script is generated into a temporary location and just happens to collide, causing this to fail sometimes and succeed other times? Other than that though I have no idea :( |
For reference, the code related to the VERSION script:
|
Hm looking again, on the x86_64 builder we shouldn't even be building i386 versions of the library, so we can probably also just stop building those versions and that may fix it |
The content of the *.vers file should look like:
|
Miscellaneous changes to rustbuild and CI. 1. Don't build LLVM when running rust-installer. 2. If toolstate is unchanged, don't push a commit to the toolstate repo. 3. Allow `./x.py build src/librustc_codegen_llvm` 4. Added log to track #50887.
The first 30 lines of the version script in #50205 are:
It doesn't look like there's syntax error at line 1 🤔 |
We've got the complete file content in #52326 (comment). It does not looks like anything corrupted?
|
This is likely a race condition so it could be the case that when the linker is invoked it's invalid but then by the time we read the file it is finished writing so it's vaild. No idea how to track it down though :( |
This commit is an attempted fix at rust-lang#50887. It was noticed that on that issue we're building both x86_64 and i386 versions of libraries, but we only actually need the x86_64 versions! This hopes that the build race condition exhibited in rust-lang#50887 is connected to building both architectures and/or building a lot of libraries, so this should help us build precisely what we need and no more.
I'm hoping this is either mitigated or fixed with #52487 |
… r=kennytm Don't build twice the sanitizers on Linux This commit is an attempted fix at rust-lang#50887. It was noticed that on that issue we're building both x86_64 and i386 versions of libraries, but we only actually need the x86_64 versions! This hopes that the build race condition exhibited in rust-lang#50887 is connected to building both architectures and/or building a lot of libraries, so this should help us build precisely what we need and no more.
I haven't seen this in quite some time, so closing. |
I came across this today when I tried to build a project that contained some crates that were meant to build to x64 and some that were meant to build to Wasm. I'll hold my hands up to user error for trying to do that build, but it would have been lovely to get a less cryptic error message...! |
Symptom:
The
dist-x86_64-linux-alt
job failed when running the build script forrustc_asan
in thestage1-std
phase.Sample of the log
Previous instances:
The text was updated successfully, but these errors were encountered: