-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
[1.93.1] Revert "Update wasm-related dependencies in CI" #152259
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
Conversation
This reverts commit 4c6e41c.
|
r? @jieyouxu rustbot has assigned @jieyouxu. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
|
Some more discussion of this backport is at #t-release > 1.93.1 @ 💬 |
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
Stable nomination thread for T-compiler: #t-compiler/backports > #152259: stable-nominated |
|
This is included in #152450, thanks! |
[stable] prepare Rust 1.93.1 This includes the following backported fixes: - Don't try to recover keyword as non-keyword identifier #150590 - Fix `panicking_unwrap` FP on field access with implicit deref rust-lang/rust-clippy#16196 - Revert "Update wasm-related dependencies in CI" #152259 And these are just to avoid recent CI issues: - Remove rustdoc GUI flaky test #152116 - Remove the 4 failing tests from rustdoc-gui #152194 r? @rust-lang/release @rustbot ping relnotes-interest-group
This reverts commit 4c6e41c which was #149037. The purpose of this revert is to fix #152255. This bug is present for Rust 1.93.0 and no other releases of Rust. For example beta/1.94.0 is not affected (for a sort of weird confluence of events reasons).
The specific change here is that the wasi-libc bundled with the
wasm32-wasip{1,2}targets, as shipped by rustup, is downgraded from wasi-sdk-29 to wasi-sdk-27. The changelog for these two tags is relatively modest, but there were major differences in the submodules. The LLVM submodule of wasi-sdk was updated from LLVM 20 to LLVM 21, but this only affects the compiled output. There were no known bugs with LLVM 20 and so this is not known to have affected the compiled artifact of wasi-libc much.The main update of wasi-sdk-27 to wasi-sdk-29, however, is a very large amount of changes in wasi-libc, which directly affects what rustc is shipping. Most of these changes are in the bucket of "port the
wasm32-wasip2target to using WASIp2 APIs directly". This is the source of the bug in #152255 since rustc was half-using wasi-libc and half-using WASIp1 directly. Functionality-wise wasi-libc did not change all that much, however. The migration to WASIp2 APIs directly is intended to be behavior neutral, for example. Inevitably there were small behavioral changes in wasi-libc, some intentional and some unintentional. For example randomness in wasi-libc calls the host less in 27 and more in 29 and a bug related to thepollfunction was fixed in 29.Overall my personal opinion is that while it's theoretically possible to break users of Rust 1.93 who are relying on the update to wasi-sdk-29 we'll instead fix more users by reverting this update. Not reverting this update means that dropping a
std::fs::Filedoesn't actually do anything and thus wasm components can easily exhaust the file descriptor limit.In summary:
wasm32-wasip2target alone due to Update wasm-related dependencies in CI #149037unix.rscode on WASI targets #147572)Fixes #152255