Skip to content

Conversation

@basvandijk
Copy link
Collaborator

@basvandijk basvandijk commented Jun 6, 2025

This reverts c458123 which reverted the upgrade to rust-1.86.0.

The upgrade to rust-1.86.0 in d1dc4c2 was initially reverted since it caused the
//rs/pocket_ic_server:... and //packages/pocket-ic:... tests to fail on x86_64-apple-darwin.

We have now debugged this failure and it turns out this is due to a bug in the apple linker that causes bad code to be generated for the hyper HTTP client crate used in both the pocket-ic library and server. (Full context here). LLVM has a workaround that they merged and rustc will integrate it soon.

Until then, it appears that the bug is only triggered when building with the default opt-level=2. Until we’ve upgraded to the newest rustc (for which we’ll need to wait for a new rules_rust version) we will build the hyper crate with opt-level=0(I tried opt-level=1 but that results in the same failure).

This rust upgrade should also fix the non-reproducibility of the archive_canister_u256 and related canisters.

@github-actions github-actions bot added the chore label Jun 6, 2025
@basvandijk basvandijk added CI_ALL_BAZEL_TARGETS Runs all bazel targets and uploads them to S3 CI_MACOS_INTEL Run Bazel Test macOS Intel CI job which runs only on push to master labels Jun 6, 2025
@basvandijk basvandijk removed the CI_ALL_BAZEL_TARGETS Runs all bazel targets and uploads them to S3 label Jun 6, 2025
@basvandijk basvandijk changed the title chore: upgrade to rust-1.86.0 again chore: upgrade rust: 0.85.1 -> 1.86.0 (again) Jun 7, 2025
@basvandijk basvandijk changed the title chore: upgrade rust: 0.85.1 -> 1.86.0 (again) chore: upgrade rust: 1.85.1 -> 1.86.0 (again) Jun 7, 2025
@basvandijk basvandijk marked this pull request as ready for review June 7, 2025 15:47
@basvandijk basvandijk requested review from a team as code owners June 7, 2025 15:47
@basvandijk basvandijk requested review from a team as code owners June 7, 2025 15:47
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this pull request changes the behavior of any canister owned by
the Governance team in an externally visible way, remember to
update the corresponding unreleased_changelog.md file(s).

To acknowldge this reminder (and unblock the PR), dismiss this
code review by going to the bottom of the pull request page, look
for where it says this bot is requesting changes, click the three
dots on the right, select "Dismiss review", and supply one of the
following reasons:

  1. Done.

  2. No canister behavior changes.

To be more precise, "externally visible behavior change" usually
means that responses differ in some way. However, "externally
visible behavior change" is not limited to that. For example, it
could also means that the canister makes different requests to
other canisters.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this pull request changes the behavior of any canister owned by
the Governance team in an externally visible way, remember to
update the corresponding unreleased_changelog.md file(s).

To acknowldge this reminder (and unblock the PR), dismiss this
code review by going to the bottom of the pull request page, look
for where it says this bot is requesting changes, click the three
dots on the right, select "Dismiss review", and supply one of the
following reasons:

  1. Done.

  2. No canister behavior changes.

To be more precise, "externally visible behavior change" usually
means that responses differ in some way. However, "externally
visible behavior change" is not limited to that. For example, it
could also means that the canister makes different requests to
other canisters.

Copy link
Contributor

@mbjorkqvist mbjorkqvist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for digging into this!

@basvandijk basvandijk added the CI_ALL_BAZEL_TARGETS Runs all bazel targets and uploads them to S3 label Jun 7, 2025
Copy link
Contributor

@kpop-dfinity kpop-dfinity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!

@basvandijk basvandijk merged commit 3671acb into master Jun 10, 2025
30 checks passed
@basvandijk basvandijk deleted the rust-1.86.0 branch June 10, 2025 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore CI_ALL_BAZEL_TARGETS Runs all bazel targets and uploads them to S3 CI_MACOS_INTEL Run Bazel Test macOS Intel CI job which runs only on push to master @consensus @finint @governance-team @idx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants