cargo: Line numbers in backtrace still do not appear on macOS for Cargo projects
Repro steps:
-
Create a cargo project.
cargo new --bin a && cd a && echo 'fn main() { panic!(); }' > src/main.rs -
Run it. Note that the line numbers are missing (unexpected).
RUST_BACKTRACE=1 cargo runOutput
thread 'main' panicked at 'explicit panic', src/main.rs:1:12 stack backtrace: 0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace 1: std::sys_common::backtrace::_print 2: std::panicking::default_hook::{{closure}} 3: std::panicking::default_hook 4: std::panicking::rust_panic_with_hook 5: std::panicking::begin_panic 6: a::main 7: __rust_maybe_catch_panic 8: std::rt::lang_start 9: main -
Run the actual hard-linked program. The line numbers now appear (expected).
RUST_BACKTRACE=1 target/debug/deps/a-*Output
thread 'main' panicked at 'explicit panic', src/main.rs:1:12 stack backtrace: 0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49 1: std::sys_common::backtrace::_print at src/libstd/sys_common/backtrace.rs:71 2: std::panicking::default_hook::{{closure}} at src/libstd/sys_common/backtrace.rs:60 at src/libstd/panicking.rs:381 3: std::panicking::default_hook at src/libstd/panicking.rs:397 4: std::panicking::begin_panic at src/libstd/panicking.rs:577 5: std::panicking::begin_panic at /Users/travis/build/rust-lang/rust/src/libstd/panicking.rs:538 6: a::main at src/main.rs:1 7: panic_unwind::dwarf::eh::read_encoded_pointer at src/libpanic_unwind/lib.rs:99 8: rust_panic at src/libstd/panicking.rs:459 at src/libstd/panic.rs:361 at src/libstd/rt.rs:59 9: a::main
The problem is that in rust-lang/rust#44251 we did not search for the deps/ folder. The fix is either,
- Symlink
target/debug/deps/a-«hash».dSYMtotarget/debug/a-«hash».dSYM(actual name irrelevant), don’t touchlibstd. This may also fix #4056; or - Amend rust-lang/rust#44251 to look for
deps/as well, don’t touchcargo.
Meta
$ cargo -vV
cargo 0.23.0-nightly (33250c48b 2017-09-09)
release: 0.23.0
commit-hash: 33250c48b4763b01478d780e76206484a1d5b207
commit-date: 2017-09-09
$ rustc -vV
rustc 1.22.0-nightly (539f2083d 2017-09-13)
binary: rustc
commit-hash: 539f2083de809b5c8304fe7426655cfeb0e66d5e
commit-date: 2017-09-13
host: x86_64-apple-darwin
release: 1.22.0-nightly
LLVM version: 4.0
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 20 (12 by maintainers)
Commits related to this issue
- Uplift *.dSYM. Fix #4490. — committed to kennytm/cargo by kennytm 7 years ago
- Auto merge of #4616 - kennytm:fix-4490, r=alexcrichton Uplift *.dSYM Fixed #4490. The solution is based on #4570. Simply adding `.dSYM` into `add_target_specific_suffixes` will cause cargo trying t... — committed to rust-lang/cargo by bors 7 years ago
Doesn’t work for me and it’s driving me nuts.
This is all I get, even when calling the debug binary directly from the
target/debug/depsfolderIm running on: rustc 1.24.0-nightly (73bca2b9f 2017-11-28)