-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Latest nightly binary is broken on aarch64 Asahi ("unsupported system page size") #134563
Comments
Hey it didnt add the labels, let me try to add them @rustbot label I-compilemem O-AArch64 requires-nightly S-has-bisection |
Thanks for the report. We should probably first get the after-dist tests running, or make sure that we test and deploy aarch64 on the same hardware, because currently we don't really have any tests that check whether the built artifacts actually work.. Posted a revert in #134564. |
Are you on Asahi Linux by any chance? Asahi Linux uses 16k pages, but Jemalloc only supports a page size of at most the page size of the build system unless you explicitly override it with |
Yes, I can confirm this was on Asahi. |
Ok, so something like this wouldn't be caught on our CI anyway then. But it still seems like a regression, so we should probably restore the original behavior. |
Should we maybe then just switch off jemalloc for this build since that's where the problem seems to be? |
jemalloc should provide a non-trivial performance improvement, so it seems like a shame to disable it (since the goal of this effort was to improve rust'c performance on aarch64 :) ). So I'd probably first try restoring the current behavior, by allowing jemalloc to work with larger page sizes. |
This comment has been minimized.
This comment has been minimized.
I guess this would be triage (correct me if im wrong) @rustbot -needs-triage |
This comment has been minimized.
This comment has been minimized.
For sure, that's the proper solution. FWIW this is a wider issue than just this PR, e.g.: |
So we can revert it for now as a stop gap but the underlying issue still needs to be fixed with the aforementioned JEMALLOC_SYS_WITH_LG_PAGE. |
Revert "Auto merge of rust-lang#133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol" This reverts rust-lang#133809, as it produced broken aarch64 artifacts (rust-lang#134563). `@bors` p=1
Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol" This reverts rust-lang/rust#133809, as it produced broken aarch64 artifacts (rust-lang/rust#134563). `@bors` p=1
bootstrap: Build jemalloc with support for 64K pages By default, jemalloc is built to only support the same page size as the host machine. Set an env variable so that jemalloc is built with support for page sizes up to 64K regardless of the host machine. r? `@Kobzol` Resolves rust-lang#134563 Potentially resolves rust-lang#133748 (needs verification) ---- Results from local rustc-perf testing below, within 0.5% on every metric except max-rss. AArch64: ![Screenshot 2025-01-03 at 5 53 13 pm](https://github.com/user-attachments/assets/71705c59-7d7b-4753-a184-8c784233e603) x86_64: ![Screenshot 2025-01-03 at 5 54 16 pm](https://github.com/user-attachments/assets/ea28aded-3b90-43f4-a965-b081b07b95ab)
WG-prioritization assigning priority (Zulip discussion). @rustbot label -I-prioritize +P-critical |
bootstrap: Build jemalloc with support for 64K pages By default, jemalloc is built to only support the same page size as the host machine. Set an env variable so that jemalloc is built with support for page sizes up to 64K regardless of the host machine. r? `@Kobzol` Resolves rust-lang#134563 Potentially resolves rust-lang#133748 (needs verification) ---- Results from local rustc-perf testing below, within 0.5% on every metric except max-rss. AArch64: ![Screenshot 2025-01-03 at 5 53 13 pm](https://github.com/user-attachments/assets/71705c59-7d7b-4753-a184-8c784233e603) x86_64: ![Screenshot 2025-01-03 at 5 54 16 pm](https://github.com/user-attachments/assets/ea28aded-3b90-43f4-a965-b081b07b95ab)
Rollup merge of rust-lang#135081 - mrkajetanp:jemalloc-64k, r=Kobzol bootstrap: Build jemalloc with support for 64K pages By default, jemalloc is built to only support the same page size as the host machine. Set an env variable so that jemalloc is built with support for page sizes up to 64K regardless of the host machine. r? `@Kobzol` Resolves rust-lang#134563 Potentially resolves rust-lang#133748 (needs verification) ---- Results from local rustc-perf testing below, within 0.5% on every metric except max-rss. AArch64: ![Screenshot 2025-01-03 at 5 53 13 pm](https://github.com/user-attachments/assets/71705c59-7d7b-4753-a184-8c784233e603) x86_64: ![Screenshot 2025-01-03 at 5 54 16 pm](https://github.com/user-attachments/assets/ea28aded-3b90-43f4-a965-b081b07b95ab)
On aarch64 GNU/Linux:
searched nightlies: from nightly-2024-12-19 to nightly-2024-12-20
regressed nightly: nightly-2024-12-20
searched commit range: 4ba4ac6...9e136a3
regressed commit: 023521e
bisected with cargo-bisect-rustc v0.6.7
Host triple: aarch64-unknown-linux-gnu
Reproduce with:
Due to #133809 cc @mrkajetanp @Kobzol
@rustbot label +I-compilemem +O-AArch64 +requires-nightly +S-has-bisection
The text was updated successfully, but these errors were encountered: