Skip to content

ICE: cannot relate region: LUB(ReErased, ReEmpty) #56350

Closed
@Marwes

Description

@Marwes

Getting this ICE when compiling lalrpop/lalrpop#422 / https://github.com/lalrpop/lalrpop/tree/548df5c9f80df7d86500b29d07adfdc1b72a4631

Run

cargo build -p lalrpop && cargo test -p lalrpop-test
RUST_BACKTRACE=1 cargo test -p lalrpop-test
   Compiling lalrpop-test v0.16.2 (SNIP\lalrpop\lalrpop-test)
error: internal compiler error: src\librustc\infer\lexical_region_resolve\mod.rs:269: cannot relate region: LUB(ReErased, ReEmpty)

thread 'main' panicked at 'Box<Any>', src\librustc_errors\lib.rs:600:9
stack backtrace:
   0: std::sys_common::alloc::realloc_fallback
   1: std::panicking::take_hook
   2: std::panicking::take_hook
   3: rustc::ty::structural_impls::<impl rustc::ty::context::Lift<'tcx> for rustc::ty::instance::InstanceDef<'a>>::lift_to_tcx
   4: std::panicking::rust_panic_with_hook
   5: <rustc_errors::diagnostic::SubDiagnostic as core::fmt::Debug>::fmt
   6: rustc_errors::Handler::bug
   7: rustc::ty::context::tls::track_diagnostic
   8: rustc::ty::context::tls::track_diagnostic
   9: rustc::ty::context::tls::track_diagnostic
  10: rustc::ty::context::tls::track_diagnostic
  11: rustc::util::bug::bug_fmt
  12: rustc::util::bug::bug_fmt
  13: <rustc::ty::sty::Binder<rustc::ty::sty::TraitRef<'tcx>> as rustc::infer::at::ToTrace<'tcx>>::to_trace
  14: <rustc::ty::sty::Binder<rustc::ty::sty::TraitRef<'tcx>> as rustc::infer::at::ToTrace<'tcx>>::to_trace
  15: rustc::infer::InferCtxt::resolve_regions_and_report_errors
  16: <rustc_typeck::collect::ItemCtxt<'a, 'tcx> as rustc_typeck::astconv::AstConv<'tcx, 'tcx>>::set_tainted_by_errors
  17: <rustc_typeck::namespace::Namespace as core::fmt::Debug>::fmt
  18: <rustc_typeck::outlives::implicit_infer::IgnoreSelfTy as core::fmt::Debug>::fmt
  19: <rustc_typeck::check::CheckItemTypesVisitor<'a, 'tcx> as rustc::hir::itemlikevisit::ItemLikeVisitor<'tcx>>::visit_item
  20: rustc::ty::context::tls::track_diagnostic
  21: rustc::ty::context::tls::track_diagnostic
  22: rustc::dep_graph::graph::DepGraph::assert_ignored
  23: rustc::ty::context::tls::track_diagnostic
  24: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  25: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  26: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  27: <rustc_typeck::check::CheckItemTypesVisitor<'a, 'tcx> as rustc::hir::itemlikevisit::ItemLikeVisitor<'tcx>>::visit_item
  28: rustc::ty::context::tls::track_diagnostic
  29: rustc::ty::context::tls::track_diagnostic
  30: rustc::dep_graph::graph::DepGraph::assert_ignored
  31: rustc::ty::context::tls::track_diagnostic
  32: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  33: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  34: rustc_typeck::check_crate
  35: <rustc_driver::derive_registrar::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor<'v>>::visit_item
  36: <rustc_driver::derive_registrar::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor<'v>>::visit_item
  37: <rustc_driver::derive_registrar::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor<'v>>::visit_item
  38: rustc_driver::driver::compile_input
  39: rustc_driver::run_compiler
  40: <rustc_driver::profile::trace::Query as core::fmt::Debug>::fmt
  41: rustc_driver::run_compiler
  42: <rustc_driver::profile::trace::Query as core::fmt::Debug>::fmt
  43: <rustc_driver::pretty::IdentifiedAnnotation<'hir> as rustc_driver::pretty::HirPrinterSupport<'hir>>::sess
  44: _rust_maybe_catch_panic
  45: rustc_driver::profile::dump
  46: rustc_driver::main
  47: <unknown>
  48: std::panicking::update_panic_count
  49: _rust_maybe_catch_panic
  50: std::rt::lang_start_internal
  51: <unknown>
  52: <unknown>
  53: BaseThreadInitThunk
  54: RtlUserThreadStart
query stack during panic:
#0 [typeck_tables_of] processing `<associated_types::__parse__Term::__parse_table::__parse__Term::__StateMachine<'input, '__2, P> as lalrpop_util::state_machine::ParserDefinition>::simulate_reduce`
#1 [typeck_item_bodies] type-checking all item bodies
end of query stack
error: aborting due to previous error

error: internal compiler error: src\librustc\infer\lexical_region_resolve\mod.rs:269: cannot relate region: LUB(ReErased, ReEmpty)

thread 'main' panicked at 'Box<Any>', src\librustc_errors\lib.rs:600:9

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

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.32.0-nightly (b68fc18c4 2018-11-27) running on x86_64-pc-windows-msvc

note: compiler flags: -C debuginfo=2 -C incremental --crate-type lib

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

error: Could not compile `lalrpop-test`.
warning: build failed, waiting for other jobs to finish...
stack backtrace:
   0: std::sys_common::alloc::realloc_fallback
   1: std::panicking::take_hook
   2: std::panicking::take_hook
   3: rustc::ty::structural_impls::<impl rustc::ty::context::Lift<'tcx> for rustc::ty::instance::InstanceDef<'a>>::lift_to_tcx
   4: std::panicking::rust_panic_with_hook
   5: <rustc_errors::diagnostic::SubDiagnostic as core::fmt::Debug>::fmt
   6: rustc_errors::Handler::bug
   7: rustc::ty::context::tls::track_diagnostic
   8: rustc::ty::context::tls::track_diagnostic
   9: rustc::ty::context::tls::track_diagnostic
  10: rustc::ty::context::tls::track_diagnostic
  11: rustc::util::bug::bug_fmt
  12: rustc::util::bug::bug_fmt
  13: <rustc::ty::sty::Binder<rustc::ty::sty::TraitRef<'tcx>> as rustc::infer::at::ToTrace<'tcx>>::to_trace
  14: <rustc::ty::sty::Binder<rustc::ty::sty::TraitRef<'tcx>> as rustc::infer::at::ToTrace<'tcx>>::to_trace
  15: rustc::infer::InferCtxt::resolve_regions_and_report_errors
  16: <rustc_typeck::collect::ItemCtxt<'a, 'tcx> as rustc_typeck::astconv::AstConv<'tcx, 'tcx>>::set_tainted_by_errors
  17: <rustc_typeck::namespace::Namespace as core::fmt::Debug>::fmt
  18: <rustc_typeck::outlives::implicit_infer::IgnoreSelfTy as core::fmt::Debug>::fmt
  19: <rustc_typeck::check::CheckItemTypesVisitor<'a, 'tcx> as rustc::hir::itemlikevisit::ItemLikeVisitor<'tcx>>::visit_item
  20: rustc::ty::context::tls::track_diagnostic
  21: rustc::ty::context::tls::track_diagnostic
  22: rustc::dep_graph::graph::DepGraph::assert_ignored
  23: rustc::ty::context::tls::track_diagnostic
  24: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  25: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  26: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  27: <rustc_typeck::check::CheckItemTypesVisitor<'a, 'tcx> as rustc::hir::itemlikevisit::ItemLikeVisitor<'tcx>>::visit_item
  28: rustc::ty::context::tls::track_diagnostic
  29: rustc::ty::context::tls::track_diagnostic
  30: rustc::dep_graph::graph::DepGraph::assert_ignored
  31: rustc::ty::context::tls::track_diagnostic
  32: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  33: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack
  34: rustc_typeck::check_crate
  35: <rustc_driver::derive_registrar::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor<'v>>::visit_item
  36: <rustc_driver::derive_registrar::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor<'v>>::visit_item
  37: <rustc_driver::derive_registrar::Finder as rustc::hir::itemlikevisit::ItemLikeVisitor<'v>>::visit_item
  38: rustc_driver::driver::compile_input
  39: rustc_driver::run_compiler
  40: <rustc_driver::profile::trace::Query as core::fmt::Debug>::fmt
  41: rustc_driver::run_compiler
  42: <rustc_driver::profile::trace::Query as core::fmt::Debug>::fmt
  43: <rustc_driver::pretty::IdentifiedAnnotation<'hir> as rustc_driver::pretty::HirPrinterSupport<'hir>>::sess
  44: _rust_maybe_catch_panic
  45: rustc_driver::profile::dump
  46: rustc_driver::main
  47: <unknown>
  48: std::panicking::update_panic_count
  49: _rust_maybe_catch_panic
  50: std::rt::lang_start_internal
  51: <unknown>
  52: <unknown>
  53: BaseThreadInitThunk
  54: RtlUserThreadStart
query stack during panic:
#0 [typeck_tables_of] processing `<associated_types::__parse__Term::__parse_table::__parse__Term::__StateMachine<'input, '__2, P> as lalrpop_util::state_machine::ParserDefinition>::simulate_reduce`
#1 [typeck_item_bodies] type-checking all item bodies
end of query stack
error: aborting due to previous error


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

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.32.0-nightly (b68fc18c4 2018-11-27) running on x86_64-pc-windows-msvc

note: compiler flags: -C debuginfo=2 -C incremental

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

error: Could not compile `lalrpop-test`.

To learn more, run the command again with --verbose.

Reproduces on the newest nightly

rustc --version --verbose
rustc 1.32.0-nightly (b68fc18c4 2018-11-27)
binary: rustc
commit-hash: b68fc18c45350e1cdcd83cecf0f12e294e55af56
commit-date: 2018-11-27
host: x86_64-pc-windows-msvc
release: 1.32.0-nightly
LLVM version: 8.0

Does not reproduce on a ~1 week old nightly (so I think it is a different ICE than the similiar ICEs found on the issue tracker).

rustc --version --verbose
rustc 1.32.0-nightly (f1e2fa8f0 2018-11-20)
binary: rustc
commit-hash: f1e2fa8f0469aac1ea69dd5b6164e1d198d57934
commit-date: 2018-11-20
host: x86_64-pc-windows-msvc
release: 1.32.0-nightly
LLVM version: 8.0

Metadata

Metadata

Assignees

Labels

I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions