-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Tracking issue for i686 msvc CI issues with latest Windows 2022 runner image 20250224.5.0+ #137733
Copy link
Copy link
Closed
Labels
A-CIArea: Our Github Actions CIArea: Our Github Actions CIC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCO-windows-msvcToolchain: MSVC, Operating system: WindowsToolchain: MSVC, Operating system: WindowsO-x86_32Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-cargoRelevant to the cargo team, which will review and decide on the PR/issue.Relevant to the cargo team, which will review and decide on the PR/issue.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.Relevant to the infrastructure team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
A-CIArea: Our Github Actions CIArea: Our Github Actions CIC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCO-windows-msvcToolchain: MSVC, Operating system: WindowsToolchain: MSVC, Operating system: WindowsO-x86_32Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-cargoRelevant to the cargo team, which will review and decide on the PR/issue.Relevant to the cargo team, which will review and decide on the PR/issue.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.Relevant to the infrastructure team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
This is a tracking issue for CI compilation errors related to missing SSE2 types encountered when trying to use latest Windows 2022 runner image 20250224.5.0+ on the
i686-msvc-{1,2}anddist-i686-msvcjobs. Key difference for the image version is the Windows 11 SDK version bump from10.0.22621.0->10.0.26100.0that modified UCRT headers (see below).Context
Zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/spurious.20.28.3F.29.20i686.20msvc.20errors.
cc<= 1.2.15 emits/arch:IA32forclang-clon x86 arch Windows targets, which in conjunction with GitHub Runner Image versions Windows 2022 20250224.5.0+ seems to cause a bunch of failures related to compilation errors failing to usingSSE2types without enablingSSE2via/arch:SSE2.msvcseems to silently accept this1 and happily emitSSE2instruments butclang-clwill error.As Fulgen pointed out (thanks!) on the zulip thread:
Current mitigation attempts
ccside: clang-cl: use/arch:SSE2forx86target arch cc-rs#1425(In progress): Use Windows 2019 for 32-bit MSVC CI jobs #137732(In progress) use large runners since they haven't been updated yet: Fix 32-bit MSVC CI #137749Work needed to unblock using latest Windows 2022 runner image 20250224.5.0+ again
Warning
These steps are advisory and likely incomplete, we may find that we need to transitively bump
ccversions in more deps.ccto not emit/arch:IA32, but instead either omit it or explicitly set/arch:SSE2forclang-clonx86: clang-cl: use/arch:SSE2forx86target arch cc-rs#1425cc: https://github.com/rust-lang/cc-rs/releases/tag/cc-v1.2.16cargobump itsccversion to the new version: Bumpccto 1.2.16 to fixx86windows jobs in rust-lang/rust CI cargo#15245cargosubmodule that contains the bumpedcc: Update cargo #137791.rustc_{codegen_ssa,llvm}ccto=1.2.16: Bumprustc_{codegen_ssa,llvm}ccto 1.2.16 to fixx86Windows jobs on newest Windows SDK #137788.i686-msvc-{1,2}anddist-i686-msvc, including the compiler crates and cargo: Revert "Remove Win SDK 10.0.26100.0 from CI" #137849.Footnotes
https://developercommunity.visualstudio.com/t/wcharh-from-SDK-100261000-cannot-be/10860122 ↩