Skip to content

ICE: thread 'rustc' panicked at 'Box<Any>', compiler\rustc_errors\src\lib.rs:945:9 #78823

Not planned
@Boscop

Description

@Boscop

Code

// too large & not open-source, unfortunately

Meta

rustc --version --verbose:

rustc 1.49.0-nightly (b1496c6e6 2020-10-18)
binary: rustc
commit-hash: b1496c6e606dd908dd651ac2cce89815e10d7fc5
commit-date: 2020-10-18
host: x86_64-pc-windows-msvc
release: 1.49.0-nightly
LLVM version: 11.0

Error output

thread 'rustc' panicked at 'Box<Any>', compiler\rustc_errors\src\lib.rs:945:9
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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.49.0-nightly (b1496c6e6 2020-10-18) running on x86_64-pc-windows-msvc

note: compiler flags: -C panic=abort -C embed-bitcode=no -C linker=lld-link -C incremental -C link-arg=-fuse-ld=lld --crate-type bin

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

query stack during panic:
#0 [typeck] type-checking `rendering::scene::SceneRenderer::new`
#1 [typeck_item_bodies] type-checking all item bodies
#2 [analysis] running analysis passes on this crate
end of query stack

Activity

added
C-bugCategory: This is a bug.
I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
on Nov 6, 2020
hellow554

hellow554 commented on Nov 7, 2020

@hellow554
Contributor

Could you at least give US the full backtrace?

note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.

asomers

asomers commented on Nov 8, 2020

@asomers
Contributor

I'm hitting the same bug. I can show you the query stack, but unfortunately not the backtrace due to issue #78184 .

> rustc --version -v
rustc 1.49.0-nightly (b2d115f6d 2020-11-07)
binary: rustc
commit-hash: b2d115f6db5172c961dfeb50de15f35784dbc7c9
commit-date: 2020-11-07
host: x86_64-unknown-freebsd
release: 1.49.0-nightly
error: internal compiler error: compiler/rustc_traits/src/normalize_erasing_regions.rs:37:32: could not fully normalize `<futures::future::MapOk<futures::future::AndThen<futures::stream::TryCollect<futures::stream::MapOk<futures::stream::AndThen<futures::stream::Map<futures::stream::Iter<std::vec::IntoIter<std::path::PathBuf>>, [closure@bfffs/src/common/device_manager.rs:181:14: 181:29]>, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/vdev_file.rs:271:5: 311:6 {std::future::ResumeTy, std::path::PathBuf, std::result::Result<tokio_file::File, common::Error>, tokio_file::File, u32, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/vdev_file.rs:339:5: 358:6 for<'r, 's, 't0, 't1> {std::future::ResumeTy, tokio_file::File, u32, u64, divbuf::DivBufShared, divbuf::DivBufMut, std::boxed::Box<common::vdev_file::IoVecMutContainer>, &'r tokio_file::File, std::boxed::Box<(dyn std::borrow::BorrowMut<[u8]> + std::marker::Send + std::marker::Sync + 's)>, std::result::Result<tokio_file::AioFut<'t0>, std::io::Error>, tokio_file::AioFut<'t1>, ()}]>, (), std::result::Result<(common::label::LabelReader, tokio_file::File), (common::Error, tokio_file::File)>, common::Error}]>, fn(std::path::PathBuf) -> impl futures::Future {common::vdev_file::VdevFile::open::<std::path::PathBuf>}>, [closure@bfffs/src/common/device_manager.rs:183:17: 185:10]>, std::vec::Vec<(common::vdev_block::VdevBlock, common::label::LabelReader)>>, futures::future::MapOk<std::future::from_generator::GenFuture<[static generator@bfffs/src/common/cluster.rs:824:5: 827:6 for<'r> {std::future::ResumeTy, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 'r)>, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/cluster.rs:406:5: 419:6 for<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13> {std::future::ResumeTy, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 's)>, u32, usize, divbuf::DivBufShared, divbuf::DivBufMut, &'t0 (dyn common::raid::vdev_raid_api::VdevRaidApi + 't1), std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), common::Error>> + std::marker::Send + std::marker::Sync + 't2)>>, [closure@bfffs/src/common/cluster.rs:414:19: 418:10], futures::future::AndThen<std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), common::Error>> + std::marker::Send + std::marker::Sync + 't7)>>, std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(common::cluster::FreeSpaceMap, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 't8)>), common::Error>> + std::marker::Send + 't9)>>, [closure@bfffs/src/common/cluster.rs:414:19: 418:10]>, ()}]>, ()}]>, [closure@bfffs/src/common/device_manager.rs:155:21: 155:53]>, [closure@bfffs/src/common/device_manager.rs:152:19: 156:10]>, [closure@bfffs/src/common/device_manager.rs:134:21: 134:49]> as futures::TryFuture>::Ok`

thread 'rustc' panicked at 'Box<Any>', compiler/rustc_errors/src/lib.rs:958:9
stack backtrace:
   0:        0x8099c78f1 - <unknown>
   1:        0x809a35fb0 - <unknown>
   2:        0x8099b986f - <unknown>
   3:        0x8099cc2ad - <unknown>
   4:        0x8099cbf5c - <unknown>
   5:        0x801f4a423 - <unknown>
   6:        0x815e27767 - <unknown>
   7:        0x815e25192 - <unknown>
   8:        0x8099ccb48 - <unknown>
   9:        0x8070d6f12 - <unknown>
  10:        0x8070d6d29 - <unknown>
  11:        0x8070d6e72 - <unknown>
  12:        0x807110425 - <unknown>
  13:        0x80710ea37 - <unknown>
  14:        0x806be6e97 - <unknown>
  15:        0x806be679d - <unknown>
  16:        0x806be6176 - <unknown>
  17:        0x806be6dc9 - <unknown>
  18:        0x806be6d2f - <unknown>
  19:        0x80474f15a - <unknown>
  20:        0x8047738e9 - <unknown>
  21:        0x806e81557 - <unknown>
  22:        0x806fa7e24 - <unknown>
  23:        0x806b987ff - <unknown>
  24:        0x8069161a7 - <unknown>
  25:        0x806e98a3e - <unknown>
  26:        0x80469fc06 - <unknown>
  27:        0x805896fe8 - <unknown>
  28:        0x805637c10 - <unknown>
  29:        0x8056c39b3 - <unknown>
  30:        0x8056aa660 - <unknown>
  31:        0x8055377b2 - <unknown>
  32:        0x8058d374e - <unknown>
  33:        0x8057808f5 - <unknown>
  34:        0x80574eec3 - <unknown>
  35:        0x8056390bc - <unknown>
  36:        0x8056bafcb - <unknown>
  37:        0x8056a432f - <unknown>
  38:        0x8055155b9 - <unknown>
  39:        0x805780882 - <unknown>
  40:        0x806c9529d - <unknown>
  41:        0x806e7fe33 - <unknown>
  42:        0x806fbe5e1 - <unknown>
  43:        0x806b7e005 - <unknown>
  44:        0x806940cc9 - <unknown>
  45:        0x806c5e7fb - <unknown>
  46:        0x806c5e59e - <unknown>
  47:        0x8022809bb - <unknown>
  48:        0x802276c55 - <unknown>
  49:        0x802271a4a - <unknown>
  50:        0x80226f3d3 - <unknown>
  51:        0x802370630 - <unknown>
  52:        0x8023f2119 - <unknown>
  53:        0x8022271e7 - <unknown>
  54:        0x80228e5ca - <unknown>
  55:        0x8022e9841 - <unknown>
  56:        0x802226da8 - <unknown>
  57:        0x80236e8db - <unknown>
  58:        0x8023c5b2b - <unknown>
  59:        0x8021844ff - <unknown>
  60:        0x8021b3e52 - <unknown>
  61:        0x801f5f19e - <unknown>
  62:        0x801f4ca8c - <unknown>
  63:        0x801f5ff30 - <unknown>
  64:        0x801f4dd77 - <unknown>
  65:        0x801f65dd9 - <unknown>
  66:        0x801eca350 - <unknown>
  67:        0x8099db92d - <unknown>
  68:        0x80a54f08c - <unknown>

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.49.0-nightly (b2d115f6d 2020-11-07) running on x86_64-unknown-freebsd

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 [normalize_generic_arg_after_erasing_regions] normalizing `<futures::future::MapOk<futures::future::AndThen<futures::stream::TryCollect<futures::stream::MapOk<futures::stream::AndThen<futures::stream::Map<futures::stream::Iter<std::vec::IntoIter<std::path::PathBuf>>, [closure@bfffs/src/common/device_manager.rs:181:14: 181:29]>, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/vdev_file.rs:271:5: 311:6 {std::future::ResumeTy, std::path::PathBuf, std::result::Result<tokio_file::File, common::Error>, tokio_file::File, u32, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/vdev_file.rs:339:5: 358:6 for<'r, 's, 't0, 't1> {std::future::ResumeTy, tokio_file::File, u32, u64, divbuf::DivBufShared, divbuf::DivBufMut, std::boxed::Box<common::vdev_file::IoVecMutContainer>, &'r tokio_file::File, std::boxed::Box<(dyn std::borrow::BorrowMut<[u8]> + std::marker::Send + std::marker::Sync + 's)>, std::result::Result<tokio_file::AioFut<'t0>, std::io::Error>, tokio_file::AioFut<'t1>, ()}]>, (), std::result::Result<(common::label::LabelReader, tokio_file::File), (common::Error, tokio_file::File)>, common::Error}]>, fn(std::path::PathBuf) -> impl futures::Future {common::vdev_file::VdevFile::open::<std::path::PathBuf>}>, [closure@bfffs/src/common/device_manager.rs:183:17: 185:10]>, std::vec::Vec<(common::vdev_block::VdevBlock, common::label::LabelReader)>>, futures::future::MapOk<std::future::from_generator::GenFuture<[static generator@bfffs/src/common/cluster.rs:824:5: 827:6 for<'r> {std::future::ResumeTy, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 'r)>, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/cluster.rs:406:5: 419:6 for<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13> {std::future::ResumeTy, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 's)>, u32, usize, divbuf::DivBufShared, divbuf::DivBufMut, &'t0 (dyn common::raid::vdev_raid_api::VdevRaidApi + 't1), std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), common::Error>> + std::marker::Send + std::marker::Sync + 't2)>>, [closure@bfffs/src/common/cluster.rs:414:19: 418:10], futures::future::AndThen<std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), common::Error>> + std::marker::Send + std::marker::Sync + 't7)>>, std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(common::cluster::FreeSpaceMap, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 't8)>), common::Error>> + std::marker::Send + 't9)>>, [closure@bfffs/src/common/cluster.rs:414:19: 418:10]>, ()}]>, ()}]>, [closure@bfffs/src/common/device_manager.rs:155:21: 155:53]>, [closure@bfffs/src/common/device_manager.rs:152:19: 156:10]>, [closure@bfffs/src/common/device_manager.rs:134:21: 134:49]> as futures::TryFuture>::Ok`
#1 [needs_drop_raw] computing whether `futures_util::future::try_maybe_done::TryMaybeDone<futures::future::MapOk<futures::future::AndThen<futures::stream::TryCollect<futures::stream::MapOk<futures::stream::AndThen<futures::stream::Map<futures::stream::Iter<std::vec::IntoIter<std::path::PathBuf>>, [closure@bfffs/src/common/device_manager.rs:181:14: 181:29]>, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/vdev_file.rs:271:5: 311:6 {std::future::ResumeTy, std::path::PathBuf, std::result::Result<tokio_file::File, common::Error>, tokio_file::File, u32, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/vdev_file.rs:339:5: 358:6 for<'r, 's, 't0, 't1> {std::future::ResumeTy, tokio_file::File, u32, u64, divbuf::DivBufShared, divbuf::DivBufMut, std::boxed::Box<common::vdev_file::IoVecMutContainer>, &'r tokio_file::File, std::boxed::Box<(dyn std::borrow::BorrowMut<[u8]> + std::marker::Send + std::marker::Sync + 's)>, std::result::Result<tokio_file::AioFut<'t0>, std::io::Error>, tokio_file::AioFut<'t1>, ()}]>, (), std::result::Result<(common::label::LabelReader, tokio_file::File), (common::Error, tokio_file::File)>, common::Error}]>, fn(std::path::PathBuf) -> impl futures::Future {common::vdev_file::VdevFile::open::<std::path::PathBuf>}>, [closure@bfffs/src/common/device_manager.rs:183:17: 185:10]>, std::vec::Vec<(common::vdev_block::VdevBlock, common::label::LabelReader)>>, futures::future::MapOk<std::future::from_generator::GenFuture<[static generator@bfffs/src/common/cluster.rs:824:5: 827:6 for<'r> {std::future::ResumeTy, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 'r)>, std::future::from_generator::GenFuture<[static generator@bfffs/src/common/cluster.rs:406:5: 419:6 for<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13> {std::future::ResumeTy, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 's)>, u32, usize, divbuf::DivBufShared, divbuf::DivBufMut, &'t0 (dyn common::raid::vdev_raid_api::VdevRaidApi + 't1), std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), common::Error>> + std::marker::Send + std::marker::Sync + 't2)>>, [closure@bfffs/src/common/cluster.rs:414:19: 418:10], futures::future::AndThen<std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(), common::Error>> + std::marker::Send + std::marker::Sync + 't7)>>, std::pin::Pin<std::boxed::Box<(dyn futures::Future<Output = std::result::Result<(common::cluster::FreeSpaceMap, std::sync::Arc<(dyn common::raid::vdev_raid_api::VdevRaidApi + 't8)>), common::Error>> + std::marker::Send + 't9)>>, [closure@bfffs/src/common/cluster.rs:414:19: 418:10]>, ()}]>, ()}]>, [closure@bfffs/src/common/device_manager.rs:155:21: 155:53]>, [closure@bfffs/src/common/device_manager.rs:152:19: 156:10]>, [closure@bfffs/src/common/device_manager.rs:134:21: 134:49]>>` needs drop
#2 [eval_to_const_value_raw] simplifying constant for the type system `std::intrinsics::needs_drop`
#3 [eval_to_const_value_raw] simplifying constant for the type system `std::intrinsics::needs_drop`
end of query stack
Boscop

Boscop commented on Nov 8, 2020

@Boscop
Author

@hellow554 I forgot what I did to cause the above, but I just hit it again:

error: internal compiler error: compiler\rustc_middle\src\ty\sty.rs:2138:18: tuple_fields called on non-tuple
thread 'rustc' panicked at 'Box', compiler\rustc_errors\src\lib.rs:945:9

error[E0631]: type mismatch in function arguments
   --> src\rendering\scene.rs:204:52
    |
204 |         let local_shaders_ids = local_shaders.iter().map(read_unpacked_shader).collect::<Result<Vec<_>>>();
    |                                                          ^^^^^^^^^^^^^^^^^^^^ expected signature of `fn(&PathBuf) -> _`
    |
   ::: src\dl_shader.rs:73:1
    |
73  | pub fn read_unpacked_shader(folder: &Path) -> Result<Shader> {
    | ------------------------------------------------------------ found signature of `for<'r> fn(&'r Path) -> _`

error[E0599]: no method named `collect` found for struct `std::iter::Map<std::slice::Iter<'_, PathBuf>, for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}>` in the current scope
   --> src\rendering\scene.rs:204:74
    |
204 |           let local_shaders_ids = local_shaders.iter().map(read_unpacked_shader).collect::<Result<Vec<_>>>();
    |                                                                                  ^^^^^^^ method not found in `std::iter::Map<std::slice::Iter<'_, PathBuf>, for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}>`
    |
    = note: the method `collect` exists but the following trait bounds were not satisfied:
            `<for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader} as FnOnce<(&PathBuf,)>>::Output = _`
            which is required by `std::iter::Map<std::slice::Iter<'_, PathBuf>, for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}>: Iterator`
            `for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}: FnMut<(&PathBuf,)>`
            which is required by `std::iter::Map<std::slice::Iter<'_, PathBuf>, for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}>: Iterator`
            `std::iter::Map<std::slice::Iter<'_, PathBuf>, for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}>: Iterator`
            which is required by `&mut std::iter::Map<std::slice::Iter<'_, PathBuf>, for<'r> fn(&'r Path) -> std::result::Result<shadertoy_dl::Shader, anyhow::Error> {read_unpacked_shader}>: Iterator`

error: internal compiler error: compiler\rustc_middle\src\ty\sty.rs:2138:18: tuple_fields called on non-tuple

thread 'rustc' panicked at 'Box<Any>', compiler\rustc_errors\src\lib.rs:945:9
stack backtrace:
   0:     0x7ffc37cf9b5e - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc20a26e0f7659afd
   1:     0x7ffc37d2723b - core::fmt::write::h435be716304d26a1
   2:     0x7ffc37ceb478 - <std::io::IoSliceMut as core::fmt::Debug>::fmt::h738e6de5ed1623dc

   3:     0x7ffc37cfef7d - std::panicking::take_hook::hbf7e33d26fc3ca30
   4:     0x7ffc37cfeb58 - std::panicking::take_hook::hbf7e33d26fc3ca30
   5:     0x7ffc0c5fbd37 - rustc_driver::report_ice::hfab70eb08b03c1b0
   6:     0x7ffc37cff9d0 - std::panicking::rust_panic_with_hook::h19068ccbe4b337a1
   7:     0x7ffc10d783b0 - <rustc_errors::registry::InvalidErrorCode as core::fmt::Debug>::fmt::haa47007281d8d69d
   8:     0x7ffc10d78389 - <rustc_errors::registry::InvalidErrorCode as core::fmt::Debug>::fmt::haa47007281d8d69d
   9:     0x7ffc10d806a1 - <rustc_errors::diagnostic::StringPart as core::fmt::Debug>::fmt::h0e74c1792db6aa41
  10:     0x7ffc10db2c8f - rustc_errors::HandlerInner::err_count::h3797b647eeace099
  11:     0x7ffc10db1342 - rustc_errors::Handler::bug::h0a174d32ca88e813
  12:     0x7ffc109e29bf - rustc_middle::util::bug::bug_fmt::h42bac936f78c8dfd
  13:     0x7ffc109dd200 - rustc_middle::ty::walk::<impl rustc_middle::ty::subst::GenericArg>::walk_shallow::h0d56592a32eb5063
  14:     0x7ffc109dd1a3 - rustc_middle::ty::walk::<impl rustc_middle::ty::subst::GenericArg>::walk_shallow::h0d56592a32eb5063
  15:     0x7ffc109e28ec - rustc_middle::util::bug::bug_fmt::h42bac936f78c8dfd
  16:     0x7ffc109e2850 - rustc_middle::util::bug::bug_fmt::h42bac936f78c8dfd
  17:     0x7ffc10ab1bd5 - rustc_middle::ty::sty::<impl rustc_middle::ty::TyS>::tuple_fields::h315ea9cf885486cf
  18:     0x7ffc103965d2 - rustc_trait_selection::traits::select::SelectionContext::coinductive_predicate::hde744dc0e14d887d
  19:     0x7ffc103912c8 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::outlives_bounds::InferCtxtExt>::implied_outlives_bounds::h34a6863ea2a18d9e
  20:     0x7ffc1038f668 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::outlives_bounds::InferCtxtExt>::implied_outlives_bounds::h34a6863ea2a18d9e
  21:     0x7ffc10504038 - <rustc_trait_selection::traits::fulfill::PendingPredicateObligation as core::fmt::Debug>::fmt::h92f05826260f4bcb
  22:     0x7ffc103a22f5 - <rustc_trait_selection::traits::select::ProvisionalEvaluation as core::fmt::Debug>::fmt::h4c8eb5f4ea01fbae
  23:     0x7ffc10398e37 - <rustc_trait_selection::traits::select::TraitObligationStack as core::fmt::Debug>::fmt::h03e8a8a563b44037
  24:     0x7ffc1039fa97 - rustc_trait_selection::traits::select::SelectionContext::select::hec8a798b6b637183
  25:     0x7ffc104577e7 - <rustc_trait_selection::traits::fulfill::PendingPredicateObligation as core::fmt::Debug>::fmt::h92f05826260f4bcb
  26:     0x7ffc104567b3 - rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations::hfc0d5092e740d698
  27:     0x7ffc10549764 - <rustc_trait_selection::traits::project::ProjectionTyCandidate as core::fmt::Debug>::fmt::h1a9d56949de44175
  28:     0x7ffc1045577f - <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible::hd650af685fe950e5
  29:     0x7ffc0ec88827 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::field_ty::hf4c05ad264ffe51b
  30:     0x7ffc0eef7a13 - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::h19d6bcd8adbaa085
  31:     0x7ffc0ef84dba - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty::hcdc6c08b5c1ca355
  32:     0x7ffc0ee93c0e - <rustc_typeck::bounds::Bounds as core::fmt::Debug>::fmt::ha3a532628cf583e4
  33:     0x7ffc0edcdda6 - <rustc_typeck::check::diverges::Diverges as core::fmt::Debug>::fmt::h9fe67a62bb0ef890
  34:     0x7ffc0ee5d427 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  35:     0x7ffc0ee73a3d - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  36:     0x7ffc0ed3a49e - rustc_typeck::check::writeback::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::resolve_type_vars_in_body::h4c9e8bc9efe88ee2
  37:     0x7ffc0ed78792 - rustc_typeck::check::writeback::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::resolve_type_vars_in_body::h4c9e8bc9efe88ee2
  38:     0x7ffc0ef8a5b4 - <rustc_typeck::check::CheckItemTypesVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item::h42a56a7a7b0b6e7b
  39:     0x7ffc0ee4893d - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  40:     0x7ffc0edcbd96 - <rustc_typeck::check::diverges::Diverges as core::fmt::Debug>::fmt::h9fe67a62bb0ef890
  41:     0x7ffc0ee5dabf - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  42:     0x7ffc0ee74d59 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  43:     0x7ffc0ece4b0f - rustc_typeck::check::writeback::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::resolve_type_vars_in_body::h4c9e8bc9efe88ee2
  44:     0x7ffc0eeadc4a - rustc_typeck::check_crate::he8b36c3222a01778
  45:     0x7ffc0c8199ea - rustc_interface::passes::QueryContext::print_stats::h7fe9fc8cffe53da6
  46:     0x7ffc0c5902fb - <rustc_mir::shim::DropShimElaborator as rustc_mir::util::elaborate_drops::DropElaborator>::clear_drop_flag::hbec30c00001c8476
  47:     0x7ffc0c592096 - <rustc_mir::shim::DropShimElaborator as rustc_mir::util::elaborate_drops::DropElaborator>::clear_drop_flag::hbec30c00001c8476
  48:     0x7ffc0c60b972 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  49:     0x7ffc0c620a06 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  50:     0x7ffc0c5b7c87 - <rustc_span::symbol::SymbolStr as core::fmt::Display>::fmt::h58939e9964733da9
  51:     0x7ffc0c59283c - <rustc_mir::shim::DropShimElaborator as rustc_mir::util::elaborate_drops::DropElaborator>::clear_drop_flag::hbec30c00001c8476
  52:     0x7ffc0c61c5c6 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  53:     0x7ffc0c600fbc - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  54:     0x7ffc0c6167f4 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  55:     0x7ffc0c6211bb - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  56:     0x7ffc0c5ab5d3 - <rustc_span::symbol::SymbolStr as core::fmt::Display>::fmt::h58939e9964733da9
  57:     0x7ffc37d0f857 - std::sys::windows::thread::Thread::new::h04914a10b014a9d7
  58:     0x7ffc58481412 - BaseThreadInitThunk
  59:     0x7ffc5ad554f4 - RtlUserThreadStart

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.49.0-nightly (b1496c6e6 2020-10-18) running on x86_64-pc-windows-msvc

note: compiler flags: -C panic=abort -C embed-bitcode=no -C linker=lld-link -C incremental -C link-arg=-fuse-ld=lld --crate-type bin

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

query stack during panic:
#0 [typeck] type-checking `rendering::scene::SceneRenderer::new`
#1 [typeck_item_bodies] type-checking all item bodies
#2 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 3 previous errors
Boscop

Boscop commented on Nov 14, 2020

@Boscop
Author

I ran into something similar again today:

Error output

    |
140 |         ensure!(output != Default::default(), "`output` must be defined!");
    |                           ^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `config::ChainOutput`
    |
    = note: required by `std::default::Default::default`

error: internal compiler error: compiler\rustc_middle\src\ty\sty.rs:2138:18: tuple_fields called on non-tuple

thread 'rustc' panicked at 'Box<Any>', compiler\rustc_errors\src\lib.rs:945:9
stack backtrace:
   0:     0x7ffc379f9b5e - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc20a26e0f7659afd
   1:     0x7ffc37a2723b - core::fmt::write::h435be716304d26a1
   2:     0x7ffc379eb478 - <std::io::IoSliceMut as core::fmt::Debug>::fmt::h738e6de5ed1623dc

   3:     0x7ffc379fef7d - std::panicking::take_hook::hbf7e33d26fc3ca30
   4:     0x7ffc379feb58 - std::panicking::take_hook::hbf7e33d26fc3ca30
   5:     0x7ffc0c5fbd37 - rustc_driver::report_ice::hfab70eb08b03c1b0
   6:     0x7ffc379ff9d0 - std::panicking::rust_panic_with_hook::h19068ccbe4b337a1
   7:     0x7ffc10d783b0 - <rustc_errors::registry::InvalidErrorCode as core::fmt::Debug>::fmt::haa47007281d8d69d
   8:     0x7ffc10d78389 - <rustc_errors::registry::InvalidErrorCode as core::fmt::Debug>::fmt::haa47007281d8d69d
   9:     0x7ffc10d806a1 - <rustc_errors::diagnostic::StringPart as core::fmt::Debug>::fmt::h0e74c1792db6aa41
  10:     0x7ffc10db2c8f - rustc_errors::HandlerInner::err_count::h3797b647eeace099
  11:     0x7ffc10db1342 - rustc_errors::Handler::bug::h0a174d32ca88e813
  12:     0x7ffc109e29bf - rustc_middle::util::bug::bug_fmt::h42bac936f78c8dfd
  13:     0x7ffc109dd200 - rustc_middle::ty::walk::<impl rustc_middle::ty::subst::GenericArg>::walk_shallow::h0d56592a32eb5063
  14:     0x7ffc109dd1a3 - rustc_middle::ty::walk::<impl rustc_middle::ty::subst::GenericArg>::walk_shallow::h0d56592a32eb5063
  15:     0x7ffc109e28ec - rustc_middle::util::bug::bug_fmt::h42bac936f78c8dfd
  16:     0x7ffc109e2850 - rustc_middle::util::bug::bug_fmt::h42bac936f78c8dfd
  17:     0x7ffc10ab1bd5 - rustc_middle::ty::sty::<impl rustc_middle::ty::TyS>::tuple_fields::h315ea9cf885486cf
  18:     0x7ffc103965d2 - rustc_trait_selection::traits::select::SelectionContext::coinductive_predicate::hde744dc0e14d887d
  19:     0x7ffc103912c8 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::outlives_bounds::InferCtxtExt>::implied_outlives_bounds::h34a6863ea2a18d9e
  20:     0x7ffc1038f668 - <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::outlives_bounds::InferCtxtExt>::implied_outlives_bounds::h34a6863ea2a18d9e
  21:     0x7ffc10504038 - <rustc_trait_selection::traits::fulfill::PendingPredicateObligation as core::fmt::Debug>::fmt::h92f05826260f4bcb
  22:     0x7ffc103a22f5 - <rustc_trait_selection::traits::select::ProvisionalEvaluation as core::fmt::Debug>::fmt::h4c8eb5f4ea01fbae
  23:     0x7ffc10398e37 - <rustc_trait_selection::traits::select::TraitObligationStack as core::fmt::Debug>::fmt::h03e8a8a563b44037
  24:     0x7ffc1039fa97 - rustc_trait_selection::traits::select::SelectionContext::select::hec8a798b6b637183
  25:     0x7ffc104577e7 - <rustc_trait_selection::traits::fulfill::PendingPredicateObligation as core::fmt::Debug>::fmt::h92f05826260f4bcb
  26:     0x7ffc104567b3 - rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations::hfc0d5092e740d698
  27:     0x7ffc10549764 - <rustc_trait_selection::traits::project::ProjectionTyCandidate as core::fmt::Debug>::fmt::h1a9d56949de44175
  28:     0x7ffc1045577f - <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible::hd650af685fe950e5
  29:     0x7ffc0ec88827 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::field_ty::hf4c05ad264ffe51b
  30:     0x7ffc0eef7a13 - <rustc_typeck::variance::terms::InferredIndex as core::fmt::Debug>::fmt::h19d6bcd8adbaa085
  31:     0x7ffc0ef84dba - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty::hcdc6c08b5c1ca355
  32:     0x7ffc0ee93c0e - <rustc_typeck::bounds::Bounds as core::fmt::Debug>::fmt::ha3a532628cf583e4
  33:     0x7ffc0edcdda6 - <rustc_typeck::check::diverges::Diverges as core::fmt::Debug>::fmt::h9fe67a62bb0ef890
  34:     0x7ffc0ee5d427 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  35:     0x7ffc0ee73a3d - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  36:     0x7ffc0ed3a49e - rustc_typeck::check::writeback::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::resolve_type_vars_in_body::h4c9e8bc9efe88ee2
  37:     0x7ffc0ed78792 - rustc_typeck::check::writeback::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::resolve_type_vars_in_body::h4c9e8bc9efe88ee2
  38:     0x7ffc0ef8a5b4 - <rustc_typeck::check::CheckItemTypesVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item::h42a56a7a7b0b6e7b
  39:     0x7ffc0ee4893d - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  40:     0x7ffc0edcbd96 - <rustc_typeck::check::diverges::Diverges as core::fmt::Debug>::fmt::h9fe67a62bb0ef890
  41:     0x7ffc0ee5dabf - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  42:     0x7ffc0ee74d59 - <<rustc_typeck::collect::const_evaluatable_predicates_of::ConstCollector as rustc_hir::intravisit::Visitor>::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::hf3927083f687e271
  43:     0x7ffc0ece4b0f - rustc_typeck::check::writeback::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::resolve_type_vars_in_body::h4c9e8bc9efe88ee2
  44:     0x7ffc0eeadc4a - rustc_typeck::check_crate::he8b36c3222a01778
  45:     0x7ffc0c8199ea - rustc_interface::passes::QueryContext::print_stats::h7fe9fc8cffe53da6
  46:     0x7ffc0c5902fb - <rustc_mir::shim::DropShimElaborator as rustc_mir::util::elaborate_drops::DropElaborator>::clear_drop_flag::hbec30c00001c8476
  47:     0x7ffc0c592096 - <rustc_mir::shim::DropShimElaborator as rustc_mir::util::elaborate_drops::DropElaborator>::clear_drop_flag::hbec30c00001c8476
  48:     0x7ffc0c60b972 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  49:     0x7ffc0c620a06 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  50:     0x7ffc0c5b7c87 - <rustc_span::symbol::SymbolStr as core::fmt::Display>::fmt::h58939e9964733da9
  51:     0x7ffc0c59283c - <rustc_mir::shim::DropShimElaborator as rustc_mir::util::elaborate_drops::DropElaborator>::clear_drop_flag::hbec30c00001c8476
  52:     0x7ffc0c61c5c6 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  53:     0x7ffc0c600fbc - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  54:     0x7ffc0c6167f4 - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  55:     0x7ffc0c6211bb - <rustc_driver::Compilation as core::fmt::Debug>::fmt::h3d40e9a6991d8181
  56:     0x7ffc0c5ab5d3 - <rustc_span::symbol::SymbolStr as core::fmt::Display>::fmt::h58939e9964733da9
  57:     0x7ffc37a0f857 - std::sys::windows::thread::Thread::new::h04914a10b014a9d7
  58:     0x7ffc58481412 - BaseThreadInitThunk
  59:     0x7ffc5ad554f4 - RtlUserThreadStart

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.49.0-nightly (b1496c6e6 2020-10-18) running on x86_64-pc-windows-msvc

note: compiler flags: -C panic=abort -C embed-bitcode=no -C linker=lld-link -C incremental -C link-arg=-fuse-ld=lld --crate-type bin

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

query stack during panic:
#0 [typeck] type-checking `rendering::scene::SceneRenderer::new`
#1 [typeck_item_bodies] type-checking all item bodies
#2 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.

It occured in the same module.

added
E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
on Dec 31, 2020
Enselic

Enselic commented on Sep 3, 2023

@Enselic
Member

Triage: Since there currently is no known way for others to reproduce this ICE, I will close this issue. Without a way for others to reproduce, not much can be done. Feel free to re-open if a way to reproduce is found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @Enselic@asomers@Boscop@hellow554@JohnTitor

        Issue actions

          ICE: thread 'rustc' panicked at 'Box<Any>', compiler\rustc_errors\src\lib.rs:945:9 · Issue #78823 · rust-lang/rust