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

cargo doc panics with an "Unexpected predicate" message and doesn't generate documentation #92073

Closed
AlexTMjugador opened this issue Dec 18, 2021 · 3 comments · Fixed by #92076
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@AlexTMjugador
Copy link

Problem

When trying to document my Rust project by running cargo doc, the command crashes and no documentation is generated. Other than that, the code builds and runs okay.

Error message

thread 'rustc' panicked at 'Unexpected predicate pack_file::audio_file::AudioDataStream<T> Binder(ClosureKind(DefId(0:632 ~ packsquash[46bd]::pack_file::audio_file::new_processed_audio_data_stream::{closure#0}), [T, i16, extern "rust-call" fn((std::result::Result<bytes::Bytes, std::io::Error>,)) -> std::result::Result<gstreamer::Sample, pack_file::audio_file::OptimizationError>, ()], FnOnce), [])', compiler/rustc_trait_selection/src/traits/auto_trait.rs:842:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

error: Unrecognized option: 'crate-version'

error: could not document `packsquash`

Verbose backtrace

Show
   0:     0x7f42efea62cc - std::backtrace_rs::backtrace::libunwind::trace::he79a6b2087577c89
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f42efea62cc - std::backtrace_rs::backtrace::trace_unsynchronized::h9277c4233029dddb
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f42efea62cc - std::sys_common::backtrace::_print_fmt::hbb2b612ef9b02ca8
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7f42efea62cc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc8c6e5fc9f07659b
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x7f42eff032ec - core::fmt::write::h72801a82c94e6ff1
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/core/src/fmt/mod.rs:1149:17
   5:     0x7f42efe969d5 - std::io::Write::write_fmt::h49956859070326a8
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/io/mod.rs:1660:15
   6:     0x7f42efea9490 - std::sys_common::backtrace::_print::h7c949d00e447ca1b
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x7f42efea9490 - std::sys_common::backtrace::print::hac5d7b208ff86b2e
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x7f42efea9490 - std::panicking::default_hook::{{closure}}::h2d5b8c951b73433e
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:211:50
   9:     0x7f42efea903b - std::panicking::default_hook::hc1d5a882e94ba293
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:228:9
  10:     0x7f42f09c2921 - rustc_driver[8da5ce1fe2d1a97a]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f42e0019323 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h70164cf8ef58bbcb
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/alloc/src/boxed.rs:1825:9
  12:     0x7f42e0096e3d - proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}::h449afb74008a6ac3
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/proc_macro/src/bridge/client.rs:320:21
  13:     0x7f42efea9ca9 - std::panicking::rust_panic_with_hook::hc9dd570d8cf7aba9
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:610:17
  14:     0x7f42efea9760 - std::panicking::begin_panic_handler::{{closure}}::hf5dee398c82a5cad
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:502:13
  15:     0x7f42efea6774 - std::sys_common::backtrace::__rust_end_short_backtrace::hc6e01318a754dc4c
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:139:18
  16:     0x7f42efea96c9 - rust_begin_unwind
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:498:5
  17:     0x7f42efe6db91 - core::panicking::panic_fmt::h7b8580d81fcbbacd
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/core/src/panicking.rs:107:14
  18:     0x7f42f188df95 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_nested_obligations::<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_infer[7479c472c492593c]::traits::Obligation<rustc_middle[f720485c3bb04922]::ty::Predicate>>>
  19:     0x7f42f188de86 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_nested_obligations::<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_infer[7479c472c492593c]::traits::Obligation<rustc_middle[f720485c3bb04922]::ty::Predicate>>>
  20:     0x7f42f188de86 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_nested_obligations::<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_infer[7479c472c492593c]::traits::Obligation<rustc_middle[f720485c3bb04922]::ty::Predicate>>>
  21:     0x7f42f188c8d4 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_predicates
  22:     0x5624627ccd80 - <rustc_infer[7479c472c492593c]::infer::InferCtxtBuilder>::enter::<rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitResult<rustdoc[36929c7f4bae1c8e]::clean::types::Generics>, <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::find_auto_trait_generics<rustdoc[36929c7f4bae1c8e]::clean::types::Generics, <rustdoc[36929c7f4bae1c8e]::clean::auto_trait::AutoTraitFinder>::generate_for_trait::{closure#0}>::{closure#1}>
  23:     0x562462738e31 - <rustdoc[36929c7f4bae1c8e]::clean::auto_trait::AutoTraitFinder>::generate_for_trait
  24:     0x562462711bd1 - <alloc[a8f979d015016212]::vec::Vec<rustdoc[36929c7f4bae1c8e]::clean::types::Item> as alloc[a8f979d015016212]::vec::spec_from_iter::SpecFromIter<rustdoc[36929c7f4bae1c8e]::clean::types::Item, core[cc79c391059f8e46]::iter::adapters::filter_map::FilterMap<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_span[dda57b1885b40b9a]::def_id::DefId>, <rustdoc[36929c7f4bae1c8e]::clean::auto_trait::AutoTraitFinder>::get_auto_trait_impls::{closure#0}>>>::from_iter
  25:     0x562462746543 - rustdoc[36929c7f4bae1c8e]::clean::utils::get_auto_trait_and_blanket_impls
  26:     0x56246276b0b5 - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  27:     0x56246276b1fa - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  28:     0x56246276b1fa - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  29:     0x56246276b1fa - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  30:     0x562462770cd2 - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_crate
  31:     0x5624627c9c70 - <rustc_session[2680299e10ec9d86]::session::Session>::time::<alloc[a8f979d015016212]::vec::Vec<rustdoc[36929c7f4bae1c8e]::clean::types::Item>, rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::collect_trait_impls::{closure#0}>
  32:     0x562462768acd - rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::collect_trait_impls
  33:     0x5624627ca523 - <rustc_session[2680299e10ec9d86]::session::Session>::time::<rustdoc[36929c7f4bae1c8e]::clean::types::Crate, rustdoc[36929c7f4bae1c8e]::core::run_global_ctxt::{closure#11}>
  34:     0x5624626c3bd6 - rustdoc[36929c7f4bae1c8e]::core::run_global_ctxt
  35:     0x5624627ca941 - <rustc_session[2680299e10ec9d86]::session::Session>::time::<(rustdoc[36929c7f4bae1c8e]::clean::types::Crate, rustdoc[36929c7f4bae1c8e]::config::RenderOptions, rustdoc[36929c7f4bae1c8e]::formats::cache::Cache), rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}::{closure#0}::{closure#0}::{closure#0}>
  36:     0x562462687956 - <rustc_interface[62760188b3c734a0]::passes::QueryContext>::enter::<rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  37:     0x56246263bbd1 - <rustc_interface[62760188b3c734a0]::interface::Compiler>::enter::<rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  38:     0x56246271f823 - rustc_span[dda57b1885b40b9a]::with_source_map::<core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>, rustc_interface[62760188b3c734a0]::interface::create_compiler_and_run<core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>, rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}>::{closure#1}>
  39:     0x56246263e07e - rustc_interface[62760188b3c734a0]::interface::create_compiler_and_run::<core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>, rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}>
  40:     0x562462503929 - rustdoc[36929c7f4bae1c8e]::main_options
  41:     0x562462585f3d - <scoped_tls[3fea4c3dcac147b1]::ScopedKey<rustc_span[dda57b1885b40b9a]::SessionGlobals>>::set::<rustc_interface[62760188b3c734a0]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustdoc[36929c7f4bae1c8e]::main_args::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  42:     0x562462605419 - std[21670a705af8c7c3]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[62760188b3c734a0]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustdoc[36929c7f4bae1c8e]::main_args::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  43:     0x56246278b4f0 - <<std[21670a705af8c7c3]::thread::Builder>::spawn_unchecked<rustc_interface[62760188b3c734a0]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustdoc[36929c7f4bae1c8e]::main_args::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#1} as core[cc79c391059f8e46]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  44:     0x7f42efeb4d93 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h13c9b82af0da6f4d
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/alloc/src/boxed.rs:1811:9
  45:     0x7f42efeb4d93 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf3c1d65ddfa15a01
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/alloc/src/boxed.rs:1811:9
  46:     0x7f42efeb4d93 - std::sys::unix::thread::Thread::new::thread_start::h81bd34a89ebf1bad
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys/unix/thread.rs:108:17
  47:     0x7f42efdd8d80 - start_thread
                               at ./nptl/./nptl/pthread_create.c:481:8
  48:     0x7f42efb92b6f - __clone
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
  49:                0x0 - <unknown>

Steps

  1. Download or clone my project, commit cb8017a947: https://github.com/ComunidadAylas/PackSquash/archive/cb8017a947b1825f23a992d6eb2f28b503270e2f.zip
  2. Run cargo doc on it
  3. Watch the panic happen

Possible Solution(s)

No response

Notes

This panic has been happening to me for months now, and I couldn't find any issue, PR or commit that referenced a similar issue. So I guess it's pretty safe to assume that it hasn't been reported before and that I'm probably the only person on Earth with this problem.

Version

cargo 1.59.0-nightly (a359ce160 2021-12-14)
release: 1.59.0-nightly
commit-hash: a359ce16073401f28b84840da85b268aa3d37c88
commit-date: 2021-12-14
host: x86_64-unknown-linux-gnu
libgit2: 1.3.0 (sys:0.13.23 vendored)
libcurl: 7.80.0-DEV (sys:0.4.51+curl-7.80.0 vendored ssl:OpenSSL/1.1.1l)
os: Debian unstable (sid) [64-bit]
@ehuss ehuss transferred this issue from rust-lang/cargo Dec 18, 2021
@ehuss
Copy link
Contributor

ehuss commented Dec 18, 2021

Thanks for the report! This error appears to be coming from rustdoc, so I have transferred it to the rust-lang/rust repository, as that is where rustdoc issues are tracked.

@ehuss ehuss added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Dec 18, 2021
@Aaron1011
Copy link
Member

Sorry about that - I opened #92076 to fix this

@AlexTMjugador
Copy link
Author

AlexTMjugador commented Dec 18, 2021

Thank you both for your attention! I'm sorry that I've opened the issue in the wrong repository - I was not sure whether it was something wrong with cargo doc calling rustc or with rustc itself. I'm happy to help 😄

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 28, 2021
…, r=cjgillot

Ignore other `PredicateKind`s in rustdoc auto trait finder

Fixes rust-lang#92073

There's not really anything we can do with them, and they're
causing ICEs. I'm not using a wildcard match, as we should check
that any new `PredicateKind`s are handled properly by rustdoc.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 28, 2021
…, r=cjgillot

Ignore other `PredicateKind`s in rustdoc auto trait finder

Fixes rust-lang#92073

There's not really anything we can do with them, and they're
causing ICEs. I'm not using a wildcard match, as we should check
that any new `PredicateKind`s are handled properly by rustdoc.
@bors bors closed this as completed in d31f7f1 Dec 28, 2021
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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants