Port the without_debuginfo test from backtrace-rs to the testsuite#152860
Port the without_debuginfo test from backtrace-rs to the testsuite#152860JayanAXHF wants to merge 9 commits into
without_debuginfo test from backtrace-rs to the testsuite#152860Conversation
|
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
6f4d672 to
a7b8152
Compare
|
Some changes occurred in src/tools/cargo cc @ehuss |
This comment has been minimized.
This comment has been minimized.
e93dd0f to
2ee2332
Compare
This comment has been minimized.
This comment has been minimized.
|
@workingjubilee This CI failure seems unrelated to the test? Is this a known issue/regression? |
|
that's weird. |
| fn main() { | ||
| let mut missing_symbols = 0; | ||
| let mut has_symbols = 0; | ||
| let btrace = backtrace::Backtrace::force_capture(); | ||
| let frames = btrace.frames(); | ||
| for frame in frames { | ||
| let mut any = false; | ||
| for sym in frame.symbols() { | ||
| if sym.name().is_some() { | ||
| any = true; | ||
| break; | ||
| } | ||
| } | ||
| if any { | ||
| has_symbols += 1; | ||
| } else if !frame.ip().is_null() { | ||
| missing_symbols += 1; | ||
| } | ||
| } | ||
|
|
||
| // FIXME(#346) currently on MinGW we can't symbolize kernel32.dll and other | ||
| // system libraries, which means we miss the last few symbols. | ||
| if cfg!(windows) && cfg!(target_env = "gnu") { | ||
| assert!(missing_symbols < has_symbols && has_symbols > 4); | ||
| } else { | ||
| assert_eq!(missing_symbols, 0); | ||
| } |
There was a problem hiding this comment.
This isn't a known problem, so we may need to determine how many frames are missing symbols and it may be aarch64-unknown-linux-gnu specific.
There was a problem hiding this comment.
Well it doesn't occur on my arm m2 mac so maybe it's specific? Might wanna check windows too to determine if it's x86
There was a problem hiding this comment.
Oops I misread the target. Do you mind if I rerun the CI for x86 Linux to try to repro the problem?
There was a problem hiding this comment.
@workingjubilee I added some debug info to try to find the frame with the missing info. Also could #152870 be relevant to this?
There was a problem hiding this comment.
It's unclear in the current state to which "known problem" this discussion is referring to. Is it about __libc_start_main one?
I don't see how #152870 would be relevant in that context.
This comment has been minimized.
This comment has been minimized.
2f11378 to
f245f10
Compare
This is the relevant debug log. Apparently the |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
60edd1c to
a54b642
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
2379773 to
9a54d99
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
Co-authored-by: Jubilee <workingjubilee@gmail.com>
9a54d99 to
0e93d64
Compare
This comment has been minimized.
This comment has been minimized.
|
tidy??? really??? |
|
@bors r+ |
…fo, r=workingjubilee Port the `without_debuginfo` test from `backtrace-rs` to the testsuite Part of rust-lang#122899 Ports over the `without_debuginfo` from backtrace-rs to the testsuite. Caveat: I had to create a nightly feature `backtrace_internals_accessors` to access the internals of `std::backtrace::Backtrace` and `std::backtrace::BacktraceFrames`. It is not on the stabilisation track, since it doesn't have an ACP. r? @workingjubilee
Rollup of 18 pull requests Successful merges: - #158692 (Add release notes for 1.96.1) - #134021 (Implement `IntoIterator` for `[&[mut]] Box<[T; N], A>`) - #152860 (Port the `without_debuginfo` test from `backtrace-rs` to the testsuite) - #155932 (MIR Call terminator: evaluate destination place before arguments) - #156777 (Add -Zautodiff_post_passes flag to limit which llvm passes to run after enzyme to make autodiff tests more robust) - #157151 (JSON target specs: remove 'x86-softfloat' compatibility alias) - #157835 (expand free alias types in the auto-trait orphan check) - #158377 (add `-Zforce-intrinsic-fallback` flag) - #158434 (delegation: refactor AST -> HIR lowering) - #158552 (make some tidy errors around python easier to understand) - #158624 (borrowck: Introduce BlameConstraint::to_obligation_cause_from_path()) - #158704 (Optimize `ArrayChunks::try_rfold` with `DoubleEndedIterator::next_chunk_back`) - #158711 (library: Comment on libtest's dicey internal soundness) - #158539 (Move `SizeHint` and `IoHandle` to `core::io`) - #158659 (refactor the normalization in `coerce_shared_info`) - #158689 (resolver: don't use `Finalize` when resolving visibilities during AST expansion) - #158698 (Update TypeVisitable implementation) - #158706 (Tweaks to MIR building scope API)
|
💔 I suspect this PR failed tests as part of a rollup After fixing the problem, consider running a try job for the failed job before re-approving. Link to failure: #158753 (comment) |
|
This pull request was unapproved. This PR was contained in a rollup (#158753), which was unapproved. |
|
@workingjubilee can you squash the changes with bors? |
|
@JonathanBrouwer we might've found another target where the missing symbol thing happens |
View all comments
Part of #122899
Ports over the
without_debuginfofrom backtrace-rs to the testsuite.Caveat: I had to create a nightly feature
backtrace_internals_accessorsto access the internals ofstd::backtrace::Backtraceandstd::backtrace::BacktraceFrames. It is not on the stabilisation track, since it doesn't have an ACP.r? @workingjubilee