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

Eliminate the 'no debug symbols in executable' warning on mac #3495

Closed
brson opened this issue Sep 14, 2012 · 16 comments · Fixed by #10198
Closed

Eliminate the 'no debug symbols in executable' warning on mac #3495

brson opened this issue Sep 14, 2012 · 16 comments · Fixed by #10198
Labels
A-diagnostics Area: Messages for errors, warnings, and lints O-macos Operating system: macOS

Comments

@brson
Copy link
Contributor

brson commented Sep 14, 2012

Perhaps there's a minimum amount of debug info we can output by default without breaking things. This is alarming to newcomers.

@jdm
Copy link
Contributor

jdm commented Sep 15, 2012

I am 99% confident this comes straight from dsymutil.

@brson
Copy link
Contributor Author

brson commented Nov 1, 2012

Possibly related to #3899

@graydon
Copy link
Contributor

graydon commented Mar 20, 2013

non-critical for 0.6, de-milestoning

@ryanseys
Copy link

ryanseys commented Apr 4, 2013

+1 to fix this or provide temporary "fix"

@Mr0grog
Copy link

Mr0grog commented Apr 15, 2013

As a new user curious about the language, this definitely made me think I'd done something wrong while building. This issue is also not a top result in Google if you search for the full error message and I haven't seen anywhere else that the issue is detailed.

While this is totally understandable in a pre 1.0 release, it would be really nice to have a note that it's expected in the README and/or printed to the console at the end of the build output.

@carter-thaxton
Copy link

+1
30 seconds into playing with rust, initial impression: 0.6 is still not ready for anything more than casual experimentation.
If that's the message you intend to send, well done!

@rroels
Copy link

rroels commented Apr 30, 2013

+1

Occurs when building rust, and when compiling .rs files. I was almost certain my build had failed since the last ~6 lines were these warnings (while everything was fine). I also get this warning every time I compile any .rs file.

@brson
Copy link
Contributor Author

brson commented Apr 30, 2013

Nominating, production ready.

@graydon
Copy link
Contributor

graydon commented May 9, 2013

accepted for production-ready milestone

@Mr0grog
Copy link

Mr0grog commented May 13, 2013

Thanks! I know it's a small thing, but I certainly appreciate it :)

@jdm
Copy link
Contributor

jdm commented May 13, 2013

I'd be curious what happens if we stop running dsymutil for non-debug builds. In particular, does the gdb experience suffer at all when debugging the resulting binary?

@cadencemarseille
Copy link
Contributor

I am writing a rustpkg script for rust-pcre to fix cadencemarseille/rust-pcre#1 and this is tripping me up because part of the script looks at rust run output, which includes this warning in the ProcessOutput.output data.

For now I think I'll just use the last line of output, but it would be great to have this issue fixed.

@mcandre
Copy link

mcandre commented Jan 13, 2014

I'm still getting this in Homebrew Rust on Mavericks.

Trace:

$ cat hello.rs 
extern mod std;

use std::io::println;

fn main() {
  println("Hello World!");
}

$ rustc hello.rs 
warning: no debug symbols in executable (-arch x86_64)

$ ./hello
Hello World!

System:

$ rust --version
rust 0.8
host: x86_64-apple-darwin

$ brew --version
0.9.5

$ system_profiler SPSoftwareDataType | grep 'System Version'
      System Version: OS X 10.9.1 (13B42)

When Homebrew gets Rust 0.9 for Mavericks, will this be fixed?

@metajack
Copy link
Contributor

I get this all the time still.

@jdm
Copy link
Contributor

jdm commented Jan 14, 2014

That's probably because we build servo with debug symbols, hence we run dsymutil. I would expect @mcandre will have a better experience.

bors pushed a commit to rust-lang-ci/rust that referenced this issue May 15, 2021
keep missed comments appearing after the struct/enum ident
RalfJung pushed a commit to RalfJung/rust that referenced this issue Apr 20, 2024
data_race: make the release/acquire API more clear
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

## Running ui tests in tests/panic for x86_64-unknown-linux-gnu
   Compiler: "MIRI_ENV_VAR_TEST"="0" "MIRI_TEMP"="/tmp/miri-uitest-cdqLHa" "RUST_BACKTRACE"="1" /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/miri "--error-format=json" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/miri-sysroot" "-Dwarnings" "-Dunused" "-Ainternal_features" "-Zui-testing" "--target" "x86_64-unknown-linux-gnu" "--out-dir" OUT_DIR

FAILED TEST: tests/panic/mir-validation.rs
command: MIRI_ENV_VAR_TEST="0" MIRI_TEMP="/tmp/miri-uitest-cdqLHa" RUST_BACKTRACE="1" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/miri" "--error-format=json" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/miri-sysroot" "-Dwarnings" "-Dunused" "-Ainternal_features" "-Zui-testing" "--target" "x86_64-unknown-linux-gnu" "--extern" "getrandom_01=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libgetrandom-92193960c42a79dc.rlib" "--extern" "getrandom_01=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libgetrandom-92193960c42a79dc.rmeta" "--extern" "getrandom_02=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libgetrandom-6943689c36c748b2.rlib" "--extern" "getrandom_02=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libgetrandom-6943689c36c748b2.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/liblibc-6a1f771c5476c94d.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/liblibc-6a1f771c5476c94d.rmeta" "--extern" "num_cpus=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libnum_cpus-bf15ee602c622fe7.rlib" "--extern" "num_cpus=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libnum_cpus-bf15ee602c622fe7.rmeta" "--extern" "rand=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/librand-99beb3b1b6cc771a.rlib" "--extern" "rand=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/librand-99beb3b1b6cc771a.rmeta" "--extern" "tempfile=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libtempfile-c797246b1763c35c.rlib" "--extern" "tempfile=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libtempfile-c797246b1763c35c.rmeta" "--extern" "page_size=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libpage_size-8928013056a2112d.rlib" "--extern" "page_size=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libpage_size-8928013056a2112d.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libtokio-820b2a7a0f0dfcbf.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps/libtokio-820b2a7a0f0dfcbf.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/miri/debug/deps" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/ui/tests/panic" "tests/panic/mir-validation.rs" "--edition" "2021"
error: actual output differed from expected
error: actual output differed from expected
Execute `./miri test --bless` to update `tests/panic/mir-validation.stderr` to the actual output
--- tests/panic/mir-validation.stderr
 thread 'rustc' panicked at compiler/rustc_const_eval/src/transform/validate.rs:LL:CC:
 thread 'rustc' panicked at compiler/rustc_const_eval/src/transform/validate.rs:LL:CC:
 broken MIR in Item(DefId) (after phase change to runtime-optimized) at bb0[1]:
 
 
 
+warning: the ICE couldn't be written to `/checkout/src/tools/miri/rustc-ice-2024-04-20T09_30_09-57307.txt`: Read-only file system (os error 30)
 
+
 query stack during panic:
 #0 [optimized_mir] optimizing MIR for `main`
 #0 [optimized_mir] optimizing MIR for `main`
... 7 lines skipped ...
    |
 


full stderr:
thread 'rustc' panicked at compiler/rustc_const_eval/src/transform/validate.rs:89:25:
broken MIR in Item(DefId(0:4 ~ mir_validation[f1b6]::main)) (after phase change to runtime-optimized) at bb0[1]:
(*(_2.0: *mut i32)), has deref at the wrong place
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   1: core::panicking::panic_fmt
   2: <rustc_const_eval::transform::validate::CfgChecker>::fail::<alloc::string::String>
   3: <rustc_const_eval::transform::validate::Validator as rustc_middle::mir::MirPass>::run_pass
   5: rustc_mir_transform::optimized_mir
   5: rustc_mir_transform::optimized_mir
      [... omitted 2 frames ...]
   6: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
   8: <rustc_const_eval::interpret::eval_context::InterpCx<miri::machine::MiriMachine>>::load_mir
   9: <rustc_const_eval::interpret::eval_context::InterpCx<miri::machine::MiriMachine>>::eval_fn_call
   9: <rustc_const_eval::interpret::eval_context::InterpCx<miri::machine::MiriMachine>>::eval_fn_call
  10: <rustc_const_eval::interpret::eval_context::InterpCx<miri::machine::MiriMachine> as miri::concurrency::thread::EvalContextExt>::run_threads
  12: <rustc_middle::ty::context::GlobalCtxt>::enter::<<miri::MiriCompilerCalls as rustc_driver_impl::Callbacks>::after_analysis::{closure#0}, ()>
  13: <miri::MiriCompilerCalls as rustc_driver_impl::Callbacks>::after_analysis
  14: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
  15: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  15: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  16: rustc_span::create_session_globals_then::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: the compiler unexpectedly panicked. this is a bug.

note: using internal features is not supported and expected to cause internal compiler errors when used incorrectly

warning: the ICE couldn't be written to `/checkout/src/tools/miri/rustc-ice-2024-04-20T09_30_09-57307.txt`: Read-only file system (os error 30)
note: rustc 1.79.0-nightly (0afaf0a3c 2024-04-20) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z ui-testing


query stack during panic:
#0 [optimized_mir] optimizing MIR for `main`
end of query stack

Miri caused an ICE during evaluation. Here's the interpreter backtrace at the time of the panic:
note: the place in the program where the ICE was triggered
   |
   |
LL |     extern "rust-call" fn call_once(self, args: Args) -> Self::Output;
   |
   = note: BACKTRACE:
   = note: inside `<fn() as std::ops::FnOnce<()>>::call_once - shim(fn())` at /checkout/library/core/src/ops/function.rs:250:5: 250:71
   = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>` at /checkout/library/std/src/sys_common/backtrace.rs:155:18: 155:21
   = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>` at /checkout/library/std/src/sys_common/backtrace.rs:155:18: 155:21
   = note: inside closure at /checkout/library/std/src/rt.rs:159:18: 159:82
   = note: inside `std::ops::function::impls::<impl std::ops::FnOnce<()> for &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>::call_once` at /checkout/library/core/src/ops/function.rs:284:13: 284:31
   = note: inside `std::panicking::r#try::do_call::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at /checkout/library/std/src/panicking.rs:559:40: 559:43
   = note: inside `std::panicking::r#try::<i32, &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>` at /checkout/library/std/src/panicking.rs:523:19: 523:88
   = note: inside `std::panic::catch_unwind::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at /checkout/library/std/src/panic.rs:149:14: 149:33
   = note: inside closure at /checkout/library/std/src/rt.rs:141:48: 141:73
   = note: inside `std::panicking::r#try::do_call::<{closure@std::rt::lang_start_internal::{closure#2}}, isize>` at /checkout/library/std/src/panicking.rs:559:40: 559:43
   = note: inside `std::panicking::r#try::<isize, {closure@std::rt::lang_start_internal::{closure#2}}>` at /checkout/library/std/src/panicking.rs:523:19: 523:88
   = note: inside `std::panic::catch_unwind::<{closure@std::rt::lang_start_internal::{closure#2}}, isize>` at /checkout/library/std/src/panic.rs:149:14: 149:33
   = note: inside `std::rt::lang_start::<()>` at /checkout/library/std/src/rt.rs:158:17: 163:6


full stdout:
---
Error: 
   0: ui tests in tests/panic for x86_64-unknown-linux-gnu failed
   1: tests failed

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
error: test failed, to rerun pass `--test ui`
Caused by:
  process didn't exit successfully: `/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/ui-e0a8031545cb2a0d --quiet` (exit status: 1)
Build completed unsuccessfully in 0:03:23
  local time: Sat Apr 20 09:30:11 UTC 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints O-macos Operating system: macOS
Projects
None yet
Development

Successfully merging a pull request may close this issue.