-
Notifications
You must be signed in to change notification settings - Fork 372
chore: upgrade rust: 1.85.1 -> 1.86.0 (again) #5453
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
There was a problem hiding this 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:
-
Done.
-
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.
There was a problem hiding this 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:
-
Done.
-
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.
No canister behavior changes.
mbjorkqvist
left a comment
There was a problem hiding this 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!
kpop-dfinity
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome!
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
hyperHTTP 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 thehypercrate withopt-level=0(I triedopt-level=1but that results in the same failure).This rust upgrade should also fix the non-reproducibility of the
archive_canister_u256and related canisters.