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

ICE with -Zself-profile-events #73593

Closed
syntacticsugarglider opened this issue Jun 21, 2020 · 2 comments
Closed

ICE with -Zself-profile-events #73593

syntacticsugarglider opened this issue Jun 21, 2020 · 2 comments
Assignees
Labels
A-self-profile Area: Self-profiling feature of the compiler C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@syntacticsugarglider
Copy link
Contributor

Rustc encounters an internal compiler error when run with RUSTFLAGS="-Zself-profile=$(pwd)/profiles -Zself-profile-events=default,args" cargo +nightly build on this project. I've cloned all the git dependencies into that repo to maintain specific revs for reproducibility. The issue occurs on the latest nightly, version info is included below along with the specific error output.

It seems to be happening here in measureme so I'm not sure if here or on the measureme repo is the right place to report this but since it's causing an ICE I assumed it might be prudent to put it here.

Meta

rustc --version --verbose:

rustc 1.46.0-nightly (f455e46ea 2020-06-20)
binary: rustc
commit-hash: f455e46eae1a227d735091091144601b467e1565
commit-date: 2020-06-20
host: x86_64-unknown-linux-gnu
release: 1.46.0-nightly
LLVM version: 10.0

Error output

thread 'rustc' panicked at 'assertion failed: id <= MAX_STRING_ID', /rustc/f455e46eae1a227d735091091144601b467e1565/src/libstd/macros.rs:13:23
Backtrace

stack backtrace:
   0:     0x7fa5928af7e5 - backtrace::backtrace::libunwind::trace::h34afbfad7fd770fc
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1:     0x7fa5928af7e5 - backtrace::backtrace::trace_unsynchronized::h460d522b1619a600
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2:     0x7fa5928af7e5 - std::sys_common::backtrace::_print_fmt::ha45fac10086813b4
                               at src/libstd/sys_common/backtrace.rs:78
   3:     0x7fa5928af7e5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hde84f63fcfd0e6de
                               at src/libstd/sys_common/backtrace.rs:59
   4:     0x7fa5928ecd8c - core::fmt::write::h540ac4a6a1232abc
                               at src/libcore/fmt/mod.rs:1076
   5:     0x7fa5928a1c53 - std::io::Write::write_fmt::hc344eafd6e850b4d
                               at src/libstd/io/mod.rs:1537
   6:     0x7fa5928b4800 - std::sys_common::backtrace::_print::h4db88ff15cb5d61d
                               at src/libstd/sys_common/backtrace.rs:62
   7:     0x7fa5928b4800 - std::sys_common::backtrace::print::h5fc39e1b1f610bd3
                               at src/libstd/sys_common/backtrace.rs:49
   8:     0x7fa5928b4800 - std::panicking::default_hook::{{closure}}::h59e55edacb1d974a
                               at src/libstd/panicking.rs:198
   9:     0x7fa5928b454c - std::panicking::default_hook::heee4c8016dfbf328
                               at src/libstd/panicking.rs:217
  10:     0x7fa592fcd493 - rustc_driver::report_ice::hcd8575dd6f709e45
  11:     0x7fa4c7a99666 - <alloc::boxed::Box<F> as core::ops::function::Fn<A>>::call::h222ae0996046eee4
                               at /rustc/f455e46eae1a227d735091091144601b467e1565/src/liballoc/boxed.rs:1090
  12:     0x7fa4c7ab1435 - proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}::hc59f2fc6e277e7a5
                               at /rustc/f455e46eae1a227d735091091144601b467e1565/src/libproc_macro/bridge/client.rs:318
  13:     0x7fa5928b4eac - std::panicking::rust_panic_with_hook::h8405b6301c79fb5a
                               at src/libstd/panicking.rs:477
  14:     0x7fa5957628ee - std::panicking::begin_panic::hfd4be419703e8882
  15:     0x7fa59599e92e - measureme::stringtable::StringTableBuilder<S>::alloc::hb38346654d086445
  16:     0x7fa5959869f6 - rustc_data_structures::profiling::SelfProfilerRef::with_profiler::hb8be2ffc6a61c825
  17:     0x7fa5957d53b7 - rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::alloc_self_profile_query_strings::hc231befe341778d4
  18:     0x7fa59476e812 - rustc_codegen_ssa::base::finalize_tcx::h08c923068dc7ee33
  19:     0x7fa5934c5e33 - rustc_codegen_ssa::base::codegen_crate::h3651a5e2644c41c9
  20:     0x7fa593440605 - <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate::hb4c9828de13fb2e5
  21:     0x7fa5932b27db - rustc_interface::passes::start_codegen::he53396e0063abefb
  22:     0x7fa59318442b - rustc_middle::ty::context::tls::enter_global::h86d9ea93abf65477
  23:     0x7fa5931b2a0e - rustc_interface::queries::Queries::ongoing_codegen::h8b7e7a3aa042f310
  24:     0x7fa592fd9b6d - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::heca78bffdf308065
  25:     0x7fa592fad8b3 - rustc_span::with_source_map::h3498d2d9eca81120
  26:     0x7fa592fdb618 - rustc_interface::interface::run_compiler_in_existing_thread_pool::h633dff2910be19b9
  27:     0x7fa592fcf20d - scoped_tls::ScopedKey<T>::set::ha74c865409b98e67
  28:     0x7fa592ffdf64 - rustc_ast::attr::with_globals::h98b2784a4b14b89e
  29:     0x7fa593001f23 - std::sys_common::backtrace::__rust_begin_short_backtrace::h09ce648d4983c5cf
  30:     0x7fa592fb7dde - core::ops::function::FnOnce::call_once{{vtable.shim}}::hdb47534a1f5695fa
  31:     0x7fa5928c469a - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h13d34828db364579
                               at /rustc/f455e46eae1a227d735091091144601b467e1565/src/liballoc/boxed.rs:1076
  32:     0x7fa5928c469a - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hd51b619e0f884abf
                               at /rustc/f455e46eae1a227d735091091144601b467e1565/src/liballoc/boxed.rs:1076
  33:     0x7fa5928c469a - std::sys::unix::thread::Thread::new::thread_start::h02c6e34c2c73f344
                               at src/libstd/sys/unix/thread.rs:87
  34:     0x7fa592806422 - start_thread
  35:     0x7fa592724bf3 - __GI___clone
  36:                0x0 - <unknown>

@syntacticsugarglider syntacticsugarglider added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 21, 2020
@jonas-schievink jonas-schievink added A-self-profile Area: Self-profiling feature of the compiler requires-nightly This issue requires a nightly compiler in some way. labels Jun 21, 2020
@JohnTitor JohnTitor added the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Jun 23, 2020
@syntacticsugarglider
Copy link
Contributor Author

This is blocking my ability to report a more pressing I-compilemem issue on the stable channel that causes some fairly trivial code to be OOM-killed on a system with 32GiB of memory, fwiw

@wesleywiser
Copy link
Member

This was fixed by #77398.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-self-profile Area: Self-profiling feature of the compiler C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants