Skip to content

Conversation

zetanumbers
Copy link
Contributor

@zetanumbers zetanumbers commented Sep 5, 2025

I would like to help push progress on parallel compiler. I think it will be necessary at some point to test compiler in its multi-threaded mode (we already "have" parallel compiler but it is single-threaded by default) via crater. It would allow us to diagnose new issues, measure impact on the ecosystem and estimate amount of remaining work.

I have modified compiler to use "num_cpus" number of 8 threads by default. But I am not sure if there's better value for the cloud environment, so please tell if there is one. I am also not aware of any other nuances of cloud computing, but @Mark-Simulacrum on zulip have confirmed it should be fine.

I believe build-and-test crater mode should provide us with more useful information than the other modes, but if necessary you can scale it down to just build only.

Related zulip thread: #t-compiler/parallel-rustc > Run crater with `-Zthreads=$NUM_CPUS` set

EDIT: Switched from num_cpus to 8 threads

@rustbot
Copy link
Collaborator

rustbot commented Sep 5, 2025

r? @petrochenkov

rustbot has assigned @petrochenkov.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Sep 5, 2025
@lqd
Copy link
Member

lqd commented Sep 5, 2025

@bors try

rust-bors bot added a commit that referenced this pull request Sep 5, 2025
…try>

Test out parallel frontend via crater
@rust-bors

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@petrochenkov petrochenkov added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 5, 2025
@bjorn3
Copy link
Member

bjorn3 commented Sep 5, 2025

@bors try spurious failure

@rust-bors
Copy link

rust-bors bot commented Sep 5, 2025

Unknown argument "spurious". Run @bors2 help to see available commands.

@bjorn3
Copy link
Member

bjorn3 commented Sep 5, 2025

Never mind, that was PR CI, not the try job.

@rust-bors
Copy link

rust-bors bot commented Sep 5, 2025

☀️ Try build successful (CI)
Build commit: d79d87d (d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6, parent: ad85bc524b1ad696e42061ad8338d382dffbdbe5)

@petrochenkov
Copy link
Contributor

@craterbot build-and-test

@craterbot
Copy link
Collaborator

🚨 Error: failed to parse the command

🆘 If you have any trouble with Crater please ask in t-infra on Zulip
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@petrochenkov
Copy link
Contributor

@craterbot run mode=build-and-test

@craterbot
Copy link
Collaborator

👌 Experiment pr-146237 created and queued.
🤖 Automatically detected try build d79d87d
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🚧 Experiment pr-146237 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🎉 Experiment pr-146237 is completed!
📊 182 regressed and 154 fixed (694485 total)
📊 115635 spurious results on the retry-regessed-list.txt, consider a retry1 if this is a significant amount.
📰 Open the summary report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

Footnotes

  1. re-run the experiment with crates=https://crater-reports.s3.amazonaws.com/pr-146237/retry-regressed-list.txt

@zetanumbers
Copy link
Contributor Author

zetanumbers commented Sep 18, 2025

OOM build failures increasing from 4.5% to 13.5% is concerning if we will have more that one thread enabled by default one day. I hypothesized in the zulip thread it comes from increased RAM consumption during parallel compilation. I guess if we set threads to num_cpus (which is our eventual goal) this problem would become less noticeable. So I have reverted to this behavior to see what happens now.

@craterbot run mode=build-only crates=https://crater-reports.s3.amazonaws.com/pr-146237/retry-regressed-list.txt

@zetanumbers
Copy link
Contributor Author

zetanumbers commented Sep 18, 2025

Welp. Can somebody help me here, please? @petrochenkov ? Also it should probably be set to p=1 as it's only 1/10 of crates to build.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

failures:

---- [ui] tests/ui-fulldeps/obtain-borrowck.rs stdout ----
Saved the actual run.stdout to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/obtain-borrowck/obtain-borrowck.run.stdout`
diff of run.stdout:

1 Bodies retrieved for:
2 ::X::provided
- ::foo
- ::main
- ::main::{constant#0}
- ::with_nested_body
- ::with_nested_body::{closure#0}
8 ::{impl#0}::new
9 ::{impl#1}::provided
10 ::{impl#1}::required


The actual run.stdout differed from the expected run.stdout

error: 1 errors occurred comparing run output.
status: exit status: 0
command: cd "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/obtain-borrowck" && RUSTC="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="4" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/obtain-borrowck/a" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--edition=2021" "/checkout/tests/ui-fulldeps/auxiliary/obtain-borrowck-input.rs"
--- stdout -------------------------------
Bodies retrieved for:
::X::provided
::{impl#0}::new
::{impl#1}::provided
::{impl#1}::required
------------------------------------------
stderr: none

---- [ui] tests/ui-fulldeps/obtain-borrowck.rs stdout end ----

@ywxt
Copy link
Contributor

ywxt commented Sep 23, 2025

@SparrowLii Could you give a hand to run the command?

@SparrowLii
Copy link
Member

@craterbot
Copy link
Collaborator

👌 Experiment pr-146237-1 created and queued.
🤖 Automatically detected try build d79d87d
⚠️ Try build based on commit 34fd685, but latest commit is 77f6c01. Did you forget to make a new try build?
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 23, 2025
@petrochenkov
Copy link
Contributor

@craterbot p=1

@craterbot
Copy link
Collaborator

📝 Configuration of the pr-146237-1 experiment changed.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🚧 Experiment pr-146237-1 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🎉 Experiment pr-146237-1 is completed!
📊 5 regressed and 3 fixed (115451 total)
📊 30677 spurious results on the retry-regessed-list.txt, consider a retry1 if this is a significant amount.
📰 Open the summary report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

Footnotes

  1. re-run the experiment with crates=https://crater-reports.s3.amazonaws.com/pr-146237-1/retry-regressed-list.txt

@craterbot craterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Sep 28, 2025
@ywxt
Copy link
Contributor

ywxt commented Sep 28, 2025

⚠️ Try build based on commit 34fd685, but latest commit is 77f6c01. Did you forget to make a new try build?

Did we forget to try build or not?

@SparrowLii
Copy link
Member

@bors try

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Sep 28, 2025
…try>

Test out parallel frontend via crater
@rust-bors
Copy link

rust-bors bot commented Sep 28, 2025

☀️ Try build successful (CI)
Build commit: 4987e9d (4987e9d4227139400384ab59296ffee3b0fb1183, parent: c7f6aa2869acdbf014d094c6e427e554e160b6db)

@SparrowLii
Copy link
Member

@craterbot
Copy link
Collaborator

👌 Experiment pr-146237-2 created and queued.
🤖 Automatically detected try build 4987e9d
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 29, 2025
@SparrowLii
Copy link
Member

@craterbot p=1

@craterbot
Copy link
Collaborator

📝 Configuration of the pr-146237-2 experiment changed.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🚧 Experiment pr-146237-2 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🎉 Experiment pr-146237-2 is completed!
📊 3 regressed and 1 fixed (115430 total)
📊 32026 spurious results on the retry-regessed-list.txt, consider a retry1 if this is a significant amount.
📰 Open the summary report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

Footnotes

  1. re-run the experiment with crates=https://crater-reports.s3.amazonaws.com/pr-146237-2/retry-regressed-list.txt

@craterbot craterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Sep 30, 2025
@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants