Skip to content

ICE: found unstable fingerprints for predicates_of(core[b0ed]::convert::From) #85039

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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!

# for free to join this conversation on GitHub. Already have an account? # 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