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: found unstable fingerprints for predicates_of(core[b0ed]::convert::From) #85039

Closed
coolreader18 opened this issue May 7, 2021 · 2 comments
Labels
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.

Comments

@coolreader18
Copy link
Contributor

I think this is an incremental compilation error based on similar issues and the fact that I couldn't get this to happen again, but I figured I'd still report it.

❯ cargo c
   Compiling faux_macros v0.1.1 (/home/coolreader18/dwelo/faux/faux_macros)
thread 'rustc' panicked at 'found unstable fingerprints for predicates_of(core[b0ed]::convert::From): GenericPredicates { parent: None, predicates: [(Binder(TraitPredicate(<Self as std::marker::Sized>)), /home/coolreader18/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:365:20: 365:25 (#0)), (Binder(TraitPredicate(<T as std::marker::Sized>)), /home/coolreader18/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:365:16: 365:17 (#0)), (Binder(TraitPredicate(<Self as std::convert::From<T>>)), /home/coolreader18/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:365:1: 365:25 (#0))] }', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/compiler/rustc_query_system/src/query/plumbing.rs:593:5
note: run with `RUST_BACKTRACE=1` environment variable to display a 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.52.0 (88f19c6da 2021-05-03) running on x86_64-unknown-linux-gnu

note: compiler flags: -C prefer-dynamic -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type proc-macro

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

query stack during panic:
#0 [predicates_of] computing predicates of `std::convert::From`
#1 [check_item_well_formed] checking that `create::<impl at faux_macros/src/create.rs:50:1: 69:2>` is well-formed
end of query stack
error: could not compile `faux_macros`

And here's the snapshot of what I was working on when it happened: https://github.com/coolreader18/faux/tree/ice-repro

Sorry I can't give more info 😞

@coolreader18 coolreader18 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 May 7, 2021
@nigelgbanks
Copy link

I'm also experiencing something similar.

   Compiling csv v1.0.0 (/home/nbanks/Projects/lyrasis/ecs/migration/cli/src/csv)
       Fresh sql v1.0.0 (/home/nbanks/Projects/lyrasis/ecs/migration/cli/src/sql)
     Running `/home/nbanks/.cargo/bin/sccache rustc --crate-name csv --edition=2018 src/csv/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=1b060b5508e7b29d -C extra-filename=-1b060b5508e7b29d --out-dir /home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps -C incremental=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/incremental -L dependency=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps --extern alphanumeric_sort=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libalphanumeric_sort-24f40ce006b9c660.rmeta --extern chrono=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libchrono-3c257e41aabf617f.rmeta --extern csv_other=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libcsv-4a8ceb2902bd2427.rmeta --extern foxml=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libfoxml-25065b083bb977c5.rmeta --extern indicatif=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libindicatif-a5c87bebcbb06602.rmeta --extern lazy_static=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/liblazy_static-106ce25a1e161671.rmeta --extern log=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/liblog-5e9832863878b753.rmeta --extern logger=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/liblogger-fcb71bdd48e322a0.rmeta --extern maplit=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libmaplit-36114a910a215e83.rmeta --extern quick_xml=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libquick_xml-8940ee5e6e79bd9a.rmeta --extern rayon=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/librayon-68ed43b490c7821f.rmeta --extern regex=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libregex-a23755f4f0dbd8bc.rmeta --extern rhai=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/librhai-e921952b85acc217.rmeta --extern serde=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libserde-c61f4e40309c1aac.rmeta --extern serde_json=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libserde_json-c06880813c0aef25.rmeta --extern sha1=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libsha1-0022075fbc88e8d9.rmeta --extern strum=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libstrum-a893255e7379e112.rmeta --extern strum_macros=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libstrum_macros-d4d4fc0472fd4cba.so --extern walkdir=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libwalkdir-1dff18b6ae148bbe.rmeta`
thread 'rustc' panicked at 'found unstable fingerprints for evaluate_obligation(75bfcf7689faf1e8-6560d66cba91d25c): Ok(EvaluatedToOkModuloRegions)', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/compiler/rustc_query_system/src/query/plumbing.rs:593:5
note: run with `RUST_BACKTRACE=1` environment variable to display a 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.52.0 (88f19c6da 2021-05-03) running on x86_64-unknown-linux-gnu

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

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

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `scripts::ScriptError: std::marker::Send`
#1 [normalize_projection_ty] normalizing `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All }, value: ProjectionTy { substs: [rayon::iter::Map<rayon::iter::Filter<rayon::iter::FlatMap<rayon::vec::IntoIter<&std::path::Path>, [closure@src/csv/scripts.rs:245:19: 245:38]>, [closure@src/csv/scripts.rs:247:17: 247:40]>, [closure@src/csv/scripts.rs:248:14: 248:47]>], item_def_id: DefId(36:4492 ~ rayon[31d5]::iter::ParallelIterator::Item) } } }`
end of query stack
error: could not compile `csv`

Caused by:
  process didn't exit successfully: `/home/nbanks/.cargo/bin/sccache rustc --crate-name csv --edition=2018 src/csv/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=1b060b5508e7b29d -C extra-filename=-1b060b5508e7b29d --out-dir /home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps -C incremental=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/incremental -L dependency=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps --extern alphanumeric_sort=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libalphanumeric_sort-24f40ce006b9c660.rmeta --extern chrono=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libchrono-3c257e41aabf617f.rmeta --extern csv_other=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libcsv-4a8ceb2902bd2427.rmeta --extern foxml=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libfoxml-25065b083bb977c5.rmeta --extern indicatif=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libindicatif-a5c87bebcbb06602.rmeta --extern lazy_static=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/liblazy_static-106ce25a1e161671.rmeta --extern log=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/liblog-5e9832863878b753.rmeta --extern logger=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/liblogger-fcb71bdd48e322a0.rmeta --extern maplit=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libmaplit-36114a910a215e83.rmeta --extern quick_xml=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libquick_xml-8940ee5e6e79bd9a.rmeta --extern rayon=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/librayon-68ed43b490c7821f.rmeta --extern regex=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libregex-a23755f4f0dbd8bc.rmeta --extern rhai=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/librhai-e921952b85acc217.rmeta --extern serde=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libserde-c61f4e40309c1aac.rmeta --extern serde_json=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libserde_json-c06880813c0aef25.rmeta --extern sha1=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libsha1-0022075fbc88e8d9.rmeta --extern strum=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libstrum-a893255e7379e112.rmeta --extern strum_macros=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libstrum_macros-d4d4fc0472fd4cba.so --extern walkdir=/home/nbanks/Projects/lyrasis/ecs/migration/cli/target/debug/deps/libwalkdir-1dff18b6ae148bbe.rmeta` (exit code: 101)

The code is open source and can be found here

The error arose when changing the line.

RelsExt::from_path(&latest_version.path()).expect("Failed to parse RELS-EXT")

To

RelsExt::from_path(&latest_version.path())
          .expect(&format!("Failed to parse RELS-EXT: {}", latest_version.path().to_string_lossy()))

Clean build works but incremental fails every time.

@wesleywiser
Copy link
Member

Thanks for filing the bug report! We are currently triaging issues related to #84970 to ensure each underlying problem gets resolved. Since this appears to be a duplicate of #83259 so I'm going to close in favor of that issue.

@nigelgbanks Your comment looks like #83538 to me. Thanks for the deterministic repro!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

No branches or pull requests

3 participants