Skip to content

rlinkage.is_none() assertion fails locally #400

@adpaco-aws

Description

@adpaco-aws

Before attempting the rebase in #379 I run the regression and got:

thread 'rustc' panicked at 'assertion failed: rlinkage.is_none()', compiler/rustc_codegen_llvm/src/gotoc/operand.rs:337:21
stack backtrace:
   0: rust_begin_unwind
             at ./src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /home/ubuntu/rmc-rebase/library/core/src/panicking.rs:93:14
   2: core::panicking::panic
             at /home/ubuntu/rmc-rebase/library/core/src/panicking.rs:50:5
   3: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_alloc_pointer::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/operand.rs:337:21
   4: rustc_codegen_llvm::gotoc::metadata::GotocCtx::ensure
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/metadata.rs:216:23
   5: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_alloc_pointer
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/operand.rs:330:27
   6: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_scalar
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/operand.rs:271:17
   7: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_const_value
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/operand.rs:87:38
   8: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_const
   9: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_constant
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/operand.rs:52:9
  10: rustc_codegen_llvm::gotoc::operand::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_operand
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/operand.rs:42:37
  11: rustc_codegen_llvm::gotoc::rvalue::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_rvalue
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/rvalue.rs:379:31
  12: rustc_codegen_llvm::gotoc::statement::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_statement
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/statement.rs:484:60
  13: rustc_codegen_llvm::gotoc::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_block
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:120:29
  14: rustc_codegen_llvm::gotoc::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_function::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:293:71
  15: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/ubuntu/rmc-rebase/library/core/src/iter/traits/iterator.rs:730:29
  16: core::iter::adapters::map::map_fold::{{closure}}
             at /home/ubuntu/rmc-rebase/library/core/src/iter/adapters/map.rs:84:21
  17: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}}
             at /home/ubuntu/rmc-rebase/library/core/src/iter/adapters/enumerate.rs:106:27
  18: core::iter::traits::iterator::Iterator::fold
             at /home/ubuntu/rmc-rebase/library/core/src/iter/traits/iterator.rs:2170:21
  19: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold
             at /home/ubuntu/rmc-rebase/library/core/src/iter/adapters/enumerate.rs:112:9
  20: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /home/ubuntu/rmc-rebase/library/core/src/iter/adapters/map.rs:124:9
  21: core::iter::traits::iterator::Iterator::for_each
             at /home/ubuntu/rmc-rebase/library/core/src/iter/traits/iterator.rs:733:9
  22: rustc_codegen_llvm::gotoc::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::codegen_function
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:293:13
  23: <rustc_codegen_llvm::gotoc::GotocCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:477:35
  24: rustc_codegen_llvm::gotoc::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::call_with_panic_debug_info::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:103:13
  25: std::thread::local::LocalKey<T>::try_with
             at ./src/thread/local.rs:399:16
  26: std::thread::local::LocalKey<T>::with
             at ./src/thread/local.rs:375:9
  27: rustc_codegen_llvm::gotoc::<impl rustc_codegen_llvm::gotoc::metadata::GotocCtx>::call_with_panic_debug_info
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:101:9
  28: <rustc_codegen_llvm::gotoc::GotocCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
             at /home/ubuntu/rmc-rebase/compiler/rustc_codegen_llvm/src/gotoc/mod.rs:476:25
  29: rustc_interface::passes::start_codegen::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/passes.rs:1056:9
  30: rustc_data_structures::profiling::VerboseTimingGuard::run
             at /home/ubuntu/rmc-rebase/compiler/rustc_data_structures/src/profiling.rs:611:9
  31: rustc_session::utils::<impl rustc_session::session::Session>::time
             at /home/ubuntu/rmc-rebase/compiler/rustc_session/src/utils.rs:16:9
  32: rustc_interface::passes::start_codegen
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/passes.rs:1055:19
  33: rustc_interface::queries::Queries::ongoing_codegen::{{closure}}::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/queries.rs:254:20
  34: rustc_interface::passes::QueryContext::enter::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/passes.rs:780:42
  35: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_middle/src/ty/context.rs:1784:50
  36: rustc_middle::ty::context::tls::set_tlv
             at /home/ubuntu/rmc-rebase/compiler/rustc_middle/src/ty/context.rs:1768:9
  37: rustc_middle::ty::context::tls::enter_context
             at /home/ubuntu/rmc-rebase/compiler/rustc_middle/src/ty/context.rs:1784:9
  38: rustc_interface::passes::QueryContext::enter
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/passes.rs:780:9
  39: rustc_interface::queries::Queries::ongoing_codegen::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/queries.rs:245:13
  40: rustc_interface::queries::Query<T>::compute
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/queries.rs:38:28
  41: rustc_interface::queries::Queries::ongoing_codegen
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/queries.rs:243:9
  42: rustc_driver::run_compiler::{{closure}}::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_driver/src/lib.rs:407:13
  43: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/queries.rs:394:19
  44: rustc_driver::run_compiler::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_driver/src/lib.rs:312:22
  45: rustc_interface::interface::create_compiler_and_run::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/interface.rs:209:13
  46: rustc_span::with_source_map
             at /home/ubuntu/rmc-rebase/compiler/rustc_span/src/lib.rs:911:5
  47: rustc_interface::interface::create_compiler_and_run
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/interface.rs:203:5
  48: rustc_interface::interface::run_compiler::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/interface.rs:225:12
  49: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/util.rs:157:13
  50: scoped_tls::ScopedKey<T>::set
             at /home/ubuntu/.cargo/registry/src/github.1485827954.workers.dev-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
  51: rustc_span::create_session_globals_then
             at /home/ubuntu/rmc-rebase/compiler/rustc_span/src/lib.rs:105:5
  52: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/util.rs:155:9
  53: rustc_interface::util::scoped_thread::{{closure}}
             at /home/ubuntu/rmc-rebase/compiler/rustc_interface/src/util.rs:130:24
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

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

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.56.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -Z force-unstable-if-unmarked -Z trim-diagnostic-paths=no -Z codegen-backend=gotoc -C embed-bitcode=no -C debuginfo=2 --crate-type rlib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack

[RMC] current codegen item: codegen_function: sys::unix::thread_local_dtor::register_dtor

RMC unexpectedly panicked during code generation.

If you are seeing this message, please file an issue here instead of on the Rust compiler: https://github.com/model-checking/rmc/issues/new?labels=bug&template=bug_report.md
error: could not compile `std`

The error occurs when codegening the standard library, but it does not reproduce in CI. We intend to disable the assertion for now (PR incoming) and investigate the cause.

I am running an EC2 instance similar to other development desktops with Ubuntu 20.04 so it is not clear why it is failing.

Metadata

Metadata

Assignees

Labels

[C] BugThis is a bug. Something isn't working.[F] CrashKani crashed

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions