Closed
Description
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 run
Output
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».dSYM
totarget/debug/a-«hash».dSYM
(actual name irrelevant), don't touchlibstd
. This may also fix No deterministic/easily findable name for debug symbol directory on macOS #4056; or - Amend Add libbacktrace support for Apple platforms (resubmitted) 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