Skip to content
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

Re-sync libstd dependencies with backtrace #126292

Closed
wants to merge 1 commit into from

Conversation

glandium
Copy link
Contributor

3ec9d8d bumped addr2line to 0.22 for some reason, while backtrace uses 0.21.

3ec9d8d bumped addr2line to 0.22 for some reason, while backtrace
uses 0.21.
@rustbot
Copy link
Collaborator

rustbot commented Jun 12, 2024

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
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-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 12, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jun 12, 2024

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

@glandium
Copy link
Contributor Author

Ideally, I'd like this fixed on beta too.

@workingjubilee
Copy link
Member

? huh, sorry about making that mistake.

@workingjubilee
Copy link
Member

wait, what?

@glandium
Copy link
Contributor Author

@glandium
Copy link
Contributor Author

glandium commented Jun 12, 2024

Actually, Cargo.lock says 0.3.71.
https://github.com/rust-lang/rust/blob/master/Cargo.lock#L308
It looks like #125636 didn't land in full. Even if it did, though, that would still have brought two gimlis because other crates use gimli 0.28 (unwinding and thorin-dwp)

@workingjubilee
Copy link
Member

@workingjubilee
Copy link
Member

@glandium That's a version of backtrace used in color-eyre which is used in the compiler and the test suite, independently of std, it has nothing to do with the dependencies of std.

@workingjubilee
Copy link
Member

I realize this result may be confusing... it certainly annoys me a bit... but I don't intend to block our release cadence of libstd dependency updates on making sure that all the dependencies of the compiler and its tools, which are compiled separately, perfectly agree, unless it is absolutely imperative that they do. This "for some reason" was because backtrace is transcluded as a module into libstd, thus meaning that the Cargo.lock is utterly irrelevant for it per se because it is then compiled as a module and not a separate crate!

rust/library/std/src/lib.rs

Lines 670 to 672 in ebcb862

#[path = "../../backtrace/src/lib.rs"]
#[allow(dead_code, unused_attributes, fuzzy_provenance_casts)]
mod backtrace_rs;

And if you think this is a silly state of affairs, I agree!

@glandium
Copy link
Contributor Author

Oh boy, I'm in between a rock and a hard place aren't I. Well, this mess breaks forward ports of rust-lang/cargo#8834 and #78790 ... :(

@glandium glandium closed this Jun 12, 2024
@glandium glandium deleted the addr2line branch June 12, 2024 02:35
@workingjubilee
Copy link
Member

...Hmm, that sucks!

@glandium I will try to see if this can get settled in rust 1.81.0 / backtrace 0.3.74, can you open an issue describing the problem in more detail?

@glandium
Copy link
Contributor Author

glandium commented Jun 12, 2024

well, libstd does get two gimlis for target_os = "xous" via unwind depending on unwinding which depends on gimli 0.28. I guess that's really the only problem I have.

@workingjubilee
Copy link
Member

I opened nbdd0121/unwinding#30

@glandium
Copy link
Contributor Author

Oh boy, I'm in between a rock and a hard place aren't I. Well, this mess breaks forward ports of rust-lang/cargo#8834 and #78790 ... :(

Well, since this isn't the first time this happens (last time was duplicated cfg-if), I just went ahead and finally figured out what was missing to make those patches work with multiple crates with the same name but different versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants