Skip to content

Clippy ICEs on failed normalization #7162

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

Closed
Kixiron opened this issue May 4, 2021 · 2 comments
Closed

Clippy ICEs on failed normalization #7162

Kixiron opened this issue May 4, 2021 · 2 comments
Labels
I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@Kixiron
Copy link
Member

Kixiron commented May 4, 2021

Clippy panics when run on this code while trying to normalize timely-dataflow types

Backtrace
cargo clippy -p differential_datalog_test
    Checking differential_datalog v0.1.0 (G:\Users\Chase\Code\Rust\differential-datalog\rust\template\differential_datalog)
warning: name `CSVEventType` contains a capitalized acronym
  --> rust\template\differential_datalog\src\profile_statistics.rs:16:6
   |
16 | enum CSVEventType {
   |      ^^^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `CsvEventType`
   |
   = note: `#[warn(clippy::upper_case_acronyms)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `CSVLogEvent` contains a capitalized acronym
  --> rust\template\differential_datalog\src\profile_statistics.rs:73:8
   |
73 | struct CSVLogEvent {
   |        ^^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `CsvLogEvent`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `DDValConvert` contains a capitalized acronym
  --> rust\template\differential_datalog\src\ddval\ddval_convert.rs:15:11
   |
15 | pub trait DDValConvert: Sized {
   |           ^^^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `DdValConvert`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `DDValue` contains a capitalized acronym
  --> rust\template\differential_datalog\src\ddval\ddvalue.rs:16:12
   |
16 | pub struct DDValue {
   |            ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `DdValue`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `DDVal` contains a capitalized acronym
  --> rust\template\differential_datalog\src\ddval\mod.rs:72:12
   |
72 | pub struct DDVal {
   |            ^^^^^ help: consider making the acronym lowercase, except the initial letter: `DdVal`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `DDValMethods` contains a capitalized acronym
  --> rust\template\differential_datalog\src\ddval\mod.rs:77:12
   |
77 | pub struct DDValMethods {
   |            ^^^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `DdValMethods`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `TS` contains a capitalized acronym
 --> rust\template\differential_datalog\src\program\timestamp.rs:7:10
  |
7 | pub type TS = u32;
  |          ^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Ts`
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `TSNested` contains a capitalized acronym
  --> rust\template\differential_datalog\src\program\timestamp.rs:17:10
   |
17 | pub type TSNested = u16;
   |          ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `TsNested`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `TupleTS` contains a capitalized acronym
  --> rust\template\differential_datalog\src\program\timestamp.rs:20:10
   |
20 | pub type TupleTS = (TS, TSNested);
   |          ^^^^^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `TupleTs`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `ToTupleTS` contains a capitalized acronym
  --> rust\template\differential_datalog\src\program\timestamp.rs:22:18
   |
22 | pub(crate) trait ToTupleTS {
   |                  ^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `ToTupleTs`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

warning: name `SCC` contains a capitalized acronym
   --> rust\template\differential_datalog\src\program\mod.rs:194:5
    |
194 |     SCC { rels: Vec<RecursiveRelation> },
    |     ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Scc`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms

error: internal compiler error: compiler\rustc_traits\src\normalize_erasing_regions.rs:43:32: could not fully normalize `timely::dataflow::Stream<S, (ddval::ddvalue::DDValue, <S as timely::dataflow::ScopeParent>::Timestamp, i32)>`

thread 'rustc' panicked at 'Box<Any>', /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\library\std\src\panic.rs:59:5
stack backtrace:
   0:     0x7ffd54c1896e - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0be32b274330c008
   1:     0x7ffd54c447cb - core::fmt::write::h1aaaeb17cc45ab1e
   2:     0x7ffd54c0be68 - <std::io::IoSliceMut as core::fmt::Debug>::fmt::h4953295bcdf7c8c4
   3:     0x7ffd54c1cb3d - std::panicking::take_hook::h407a4a30481be788
   4:     0x7ffd54c1c609 - std::panicking::take_hook::h407a4a30481be788
   5:     0x7ff63676a111 - <unknown>
   6:     0x7ffd54c1d5a2 - std::panicking::rust_panic_with_hook::h0389acbd2be8eae9
   7:     0x7ffd3a96e2b0 - <rustc_errors::emitter::FileWithAnnotatedLines as core::fmt::Debug>::fmt::h5a8762d37fd8d57f
   8:     0x7ffd3a96d799 - <rustc_errors::emitter::FileWithAnnotatedLines as core::fmt::Debug>::fmt::h5a8762d37fd8d57f
   9:     0x7ffd3a94b131 - <rustc_errors::diagnostic::StringPart as core::fmt::Debug>::fmt::h2c65a6aa9d42a315
  10:     0x7ffd3a977860 - rustc_errors::diagnostic_builder::DiagnosticBuilder::code::h97e664aada764143
  11:     0x7ffd3a97dff4 - rustc_errors::HandlerInner::err_count::h3520963bd1753239
  12:     0x7ffd3a97c162 - rustc_errors::Handler::bug::hea92fb40bd251797
  13:     0x7ffd3a5008d8 - rustc_middle::util::bug::bug_fmt::ha94cfedf4e638b4b
  14:     0x7ffd3a4fc7a0 - rustc_middle::ty::query::on_disk_cache::<impl rustc_serialize::serialize::Decodable<rustc_middle::ty::query::on_disk_cache::CacheDecoder> for rustc_span::hygiene::ExpnId>::decode::hed07d9b96a84ad1f
  15:     0x7ffd3a4fc743 - rustc_middle::ty::query::on_disk_cache::<impl rustc_serialize::serialize::Decodable<rustc_middle::ty::query::on_disk_cache::CacheDecoder> for rustc_span::hygiene::ExpnId>::decode::hed07d9b96a84ad1f
  16:     0x7ffd3a500809 - rustc_middle::util::bug::bug_fmt::ha94cfedf4e638b4b
  17:     0x7ffd3a500777 - rustc_middle::util::bug::bug_fmt::ha94cfedf4e638b4b
  18:     0x7ffd386211cb - ZN295_$LT$$RF$rustc_middle..ty..list..List$LT$rustc_middle..ty..sty..Binder$LT$rustc_middle..ty..sty..ExistentialPredicate$GT$$GT$$u20$as$u20$rustc_traits..chalk..lowering..LowerInto$LT$chalk_ir..Binders$LT$chalk_ir..QuantifiedWhereClauses$LT$rustc_middle
  19:     0x7ffd386d7641 - ZN295_$LT$$RF$rustc_middle..ty..list..List$LT$rustc_middle..ty..sty..Binder$LT$rustc_middle..ty..sty..ExistentialPredicate$GT$$GT$$u20$as$u20$rustc_traits..chalk..lowering..LowerInto$LT$chalk_ir..Binders$LT$chalk_ir..QuantifiedWhereClauses$LT$rustc_middle
  20:     0x7ffd3a7709e8 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::debug_node::haf47da51b7043b45
  21:     0x7ffd3a7193e0 - <rustc_middle::ty::subst::UserSubsts as core::fmt::Debug>::fmt::h300ed1a02bd991f5
  22:     0x7ffd3a34e492 - rustc_middle::ty::query::on_disk_cache::<impl rustc_serialize::serialize::Decodable<rustc_middle::ty::query::on_disk_cache::CacheDecoder> for alloc::vec::Vec<u8>>::decode::haaa35eaa273eb41d
  23:     0x7ffd3a622004 - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  24:     0x7ffd3a56bf2a - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  25:     0x7ffd3a6cf103 - rustc_middle::ty::inhabitedness::<impl rustc_middle::ty::context::TyCtxt>::is_ty_uninhabited_from::h347bdd4a8f1a4348
  26:     0x7ffd3a3f915e - <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of::h6e2526c386845924
  27:     0x7ffd3a33bcac - <rustc_infer::infer::free_regions::FreeRegionMap as core::fmt::Debug>::fmt::h6362f107702c2a32
  28:     0x7ffd3a4dfb4e - <rustc_middle::ty::query::Providers as core::default::Default>::default::h92bc8831ac90d6d3
  29:     0x7ffd3a32c9d6 - <rustc_infer::infer::free_regions::FreeRegionMap as core::fmt::Debug>::fmt::h6362f107702c2a32
  30:     0x7ffd3a3ecd8e - rustc_middle::ty::layout::provide::hd6bf6923643042a1
  31:     0x7ffd3a3e9bde - <rustc_middle::ty::layout::LayoutError as core::fmt::Display>::fmt::h99c08966de6cd5ce
  32:     0x7ffd3a414ace - rustc_middle::ty::print::pretty::<impl core::fmt::Display for &rustc_middle::ty::consts::Const>::fmt::hc1490bf84653dfdc
  33:     0x7ffd3a769bf2 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::debug_node::haf47da51b7043b45
  34:     0x7ffd3a73139f - <rustc_middle::ty::subst::UserSubsts as core::fmt::Debug>::fmt::h300ed1a02bd991f5
  35:     0x7ffd3a357ca9 - rustc_middle::ty::query::on_disk_cache::<impl rustc_serialize::serialize::Decodable<rustc_middle::ty::query::on_disk_cache::CacheDecoder> for alloc::vec::Vec<u8>>::decode::haaa35eaa273eb41d
  36:     0x7ffd3a63c9c7 - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  37:     0x7ffd3a53064f - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  38:     0x7ffd3a3f91c5 - <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of::h6e2526c386845924
  39:     0x7ffd3a33bcac - <rustc_infer::infer::free_regions::FreeRegionMap as core::fmt::Debug>::fmt::h6362f107702c2a32
  40:     0x7ffd3a4dfb4e - <rustc_middle::ty::query::Providers as core::default::Default>::default::h92bc8831ac90d6d3
  41:     0x7ffd3a32c9d6 - <rustc_infer::infer::free_regions::FreeRegionMap as core::fmt::Debug>::fmt::h6362f107702c2a32
  42:     0x7ffd3a3ecd8e - rustc_middle::ty::layout::provide::hd6bf6923643042a1
  43:     0x7ffd3a3e9bde - <rustc_middle::ty::layout::LayoutError as core::fmt::Display>::fmt::h99c08966de6cd5ce
  44:     0x7ffd3a414ace - rustc_middle::ty::print::pretty::<impl core::fmt::Display for &rustc_middle::ty::consts::Const>::fmt::hc1490bf84653dfdc
  45:     0x7ffd3a769bf2 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::debug_node::haf47da51b7043b45
  46:     0x7ffd3a73139f - <rustc_middle::ty::subst::UserSubsts as core::fmt::Debug>::fmt::h300ed1a02bd991f5
  47:     0x7ffd3a357ca9 - rustc_middle::ty::query::on_disk_cache::<impl rustc_serialize::serialize::Decodable<rustc_middle::ty::query::on_disk_cache::CacheDecoder> for alloc::vec::Vec<u8>>::decode::haaa35eaa273eb41d
  48:     0x7ffd3a63c9c7 - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  49:     0x7ffd3a53064f - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  50:     0x7ffd3a3f91c5 - <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of::h6e2526c386845924
  51:     0x7ffd3a333794 - <rustc_infer::infer::free_regions::FreeRegionMap as core::fmt::Debug>::fmt::h6362f107702c2a32
  52:     0x7ffd3a3ec976 - rustc_middle::ty::layout::provide::hd6bf6923643042a1
  53:     0x7ffd3a3e9bde - <rustc_middle::ty::layout::LayoutError as core::fmt::Display>::fmt::h99c08966de6cd5ce
  54:     0x7ffd3a414ace - rustc_middle::ty::print::pretty::<impl core::fmt::Display for &rustc_middle::ty::consts::Const>::fmt::hc1490bf84653dfdc
  55:     0x7ffd3a769bf2 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::debug_node::haf47da51b7043b45
  56:     0x7ffd3a73139f - <rustc_middle::ty::subst::UserSubsts as core::fmt::Debug>::fmt::h300ed1a02bd991f5
  57:     0x7ffd3a357ca9 - rustc_middle::ty::query::on_disk_cache::<impl rustc_serialize::serialize::Decodable<rustc_middle::ty::query::on_disk_cache::CacheDecoder> for alloc::vec::Vec<u8>>::decode::haaa35eaa273eb41d
  58:     0x7ffd3a63c9c7 - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  59:     0x7ffd3a53064f - <rustc_middle::traits::query::type_op::AscribeUserType as core::fmt::Debug>::fmt::hd5d29b4d3b939842
  60:     0x7ffd3a3f91c5 - <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of::h6e2526c386845924
  61:     0x7ffd39f81064 - <rustc_lint::context::LateContext as rustc_target::abi::LayoutOf>::layout_of::h71b7d23963811d52
  62:     0x7ff636a0a4f7 - <unknown>
  63:     0x7ffd39f88fb3 - <rustc_lint::late::LateLintPassObjects as rustc_lint::passes::LateLintPass>::check_ty::h209da5e8a0b2324f
  64:     0x7ffd364a053a - rustc_interface::util::commit_date_str::h3912c38032a724c5
  65:     0x7ffd364d07f5 - rustc_interface::util::commit_date_str::h3912c38032a724c5
  66:     0x7ffd364a046e - rustc_interface::util::commit_date_str::h3912c38032a724c5
  67:     0x7ffd364d07f5 - rustc_interface::util::commit_date_str::h3912c38032a724c5
  68:     0x7ffd364a046e - rustc_interface::util::commit_date_str::h3912c38032a724c5
  69:     0x7ffd364d07f5 - rustc_interface::util::commit_date_str::h3912c38032a724c5
  70:     0x7ffd3649a60e - rustc_interface::util::commit_date_str::h3912c38032a724c5
  71:     0x7ffd364b666e - rustc_interface::util::commit_date_str::h3912c38032a724c5
  72:     0x7ffd364ba14f - rustc_interface::util::commit_date_str::h3912c38032a724c5
  73:     0x7ffd36473ae4 - rustc_interface::callbacks::setup_callbacks::h81dac9e6100c5941
  74:     0x7ffd364bd6bf - rustc_interface::util::commit_date_str::h3912c38032a724c5
  75:     0x7ffd364fa205 - rustc_interface::passes::QueryContext::print_stats::hbb0586fa10203714
  76:     0x7ffd363057c0 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::hc5ecdaebd526739d
  77:     0x7ffd36347fc6 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h214551e4e217a2e9
  78:     0x7ffd362b55ad - chalk_engine::TimeStamp::increment::h8ab57932dde938a4
  79:     0x7ffd36324911 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h214551e4e217a2e9
  80:     0x7ffd3629b9bf - <rustc_typeck::coherence::inherent_impls::InherentCollect as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_trait_item::h1647d16705366107
  81:     0x7ffd36295f7f - <rustc_typeck::coherence::inherent_impls::InherentCollect as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_trait_item::h1647d16705366107
  82:     0x7ffd36305e9c - <rustc_driver::Compilation as core::fmt::Debug>::fmt::hc5ecdaebd526739d
  83:     0x7ffd36321e1e - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h214551e4e217a2e9
  84:     0x7ffd36301215 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::hc5ecdaebd526739d
  85:     0x7ffd363236a9 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h214551e4e217a2e9
  86:     0x7ffd36302e05 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::hc5ecdaebd526739d
  87:     0x7ffd36325515 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h214551e4e217a2e9
  88:     0x7ffd3634da9d - <tracing_subscriber::util::TryInitError as core::fmt::Display>::fmt::hb3fcb74fea10bfb2
  89:     0x7ffd54c2cb8a - std::sys::windows::thread::Thread::new::h1849799f24702024
  90:     0x7ffdc24a7034 - BaseThreadInitThunk
  91:     0x7ffdc2c22651 - RtlUserThreadStart

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

note: we would appreciate a bug report: https://github.com/rust-lang/rust-clippy/issues/new

note: Clippy version: clippy 0.1.51 (2fd73fab 2021-03-23)

query stack during panic:
#0 [normalize_generic_arg_after_erasing_regions] normalizing `timely::dataflow::Stream<S, (ddval::ddvalue::DDValue, <S as timely::dataflow::ScopeParent>::Timestamp, i32)>`
#1 [layout_raw] computing layout of `differential_dataflow::Collection<S, ddval::ddvalue::DDValue, i32>`
#2 [layout_raw] computing layout of `differential_dataflow::operators::iterate::Variable<S, ddval::ddvalue::DDValue, i32>`
#3 [layout_raw] computing layout of `(usize, differential_dataflow::operators::iterate::Variable<S, ddval::ddvalue::DDValue, i32>, differential_dataflow::Collection<S, ddval::ddvalue::DDValue, i32>)`
#4 [analysis] running analysis passes on this crate
end of query stack
@giraffate
Copy link
Contributor

This is similar to rust-lang/rust#81199.

@giraffate giraffate added the I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️ label May 5, 2021
@matthiaskrgr
Copy link
Member

I was unable to reproduce this with an up-to-date clippy, also the upstream issue has been fixed 🎉 , closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

3 participants