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

Compiler Panic #52356

Closed
ssbanerje opened this issue Jul 13, 2018 · 6 comments
Closed

Compiler Panic #52356

ssbanerje opened this issue Jul 13, 2018 · 6 comments
Labels
A-trait-system Area: Trait system C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example 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

@ssbanerje
Copy link

ssbanerje commented Jul 13, 2018

The rust compiler panicks when compiling the following code:

extern crate rand;
extern crate symphony_fpga;

use rand::{thread_rng, Rng};
use symphony_fpga::*;

fn rand_string(chars: &mut [u8]) {
    let charset: Vec<u8> = String::from("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ1234567890").into_bytes();
    let rnos: Vec<usize> = (0..chars.len())
        .map(|_| thread_rng().gen_range::<usize>(0, charset.len()))
        .collect();
    for i in 0..chars.len() {
        chars[i] = charset[rnos[i]];
    }
    chars[chars.len()-1] = '\0' as u8;
}

fn main() {
    // Initialize AWS libraries
    assert!(init_aws().is_ok());

    // Configuration
    let slot_id = 0;
    let queue_id = 0;
    let mut dma = DMAQueue::new(slot_id, queue_id).unwrap();

    // Input buffer
    let len = 1 << 10;
    let mut buf = vec![0u8; len];
    rand_string(buf.as_ref());

    // Write data
    for channel in 0..4 {
        let write_address: i64 = 0x10000000 + channel*(1 << 34);
        assert!(dma.sync_write(buf.as_ref(), write_address).is_ok());
    }

    // Read data
    for channel in 0..4 {
        let read_address:i64 = 0x10000000 + channel*(1 << 34);
        assert!(dma.sync_read(out.as_ref(), read_address).is_ok());
    }
}

Backtrace

It produces the following backtrace

error: internal compiler error: librustc/traits/structural_impls.rs:180: impossible case reached

thread 'main' panicked at 'Box<Any>', librustc_errors/lib.rs:554:9
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:467
   6: std::panicking::begin_panic
   7: rustc_errors::Handler::bug
   8: rustc::session::opt_span_bug_fmt::{{closure}}
   9: rustc::ty::context::tls::with_opt::{{closure}}
  10: rustc::ty::context::tls::with_context_opt
  11: rustc::ty::context::tls::with_opt
  12: rustc::session::opt_span_bug_fmt
  13: rustc::session::bug_fmt
  14: rustc::traits::structural_impls::<impl rustc::ty::context::Lift<'tcx> for rustc::traits::SelectionError<'a>>::lift_to_tcx
  15: rustc::traits::select::SelectionContext::candidate_from_obligation
  16: rustc::traits::select::SelectionContext::evaluate_stack
  17: rustc::ty::context::tls::with_context
  18: rustc::dep_graph::graph::DepGraph::with_anon_task
  19: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  20: rustc::traits::select::SelectionContext::evaluate_candidate
  21: <&'a mut I as core::iter::iterator::Iterator>::next
  22: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  23: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  24: rustc::ty::context::tls::with_context
  25: rustc::dep_graph::graph::DepGraph::with_anon_task
  26: rustc::traits::select::SelectionContext::candidate_from_obligation
  27: rustc::traits::select::SelectionContext::evaluate_stack
  28: rustc::ty::context::tls::with_context
  29: rustc::dep_graph::graph::DepGraph::with_anon_task
  30: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  31: rustc::traits::select::SelectionContext::evaluate_candidate
  32: <&'a mut I as core::iter::iterator::Iterator>::next
  33: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  34: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  35: rustc::ty::context::tls::with_context
  36: rustc::dep_graph::graph::DepGraph::with_anon_task
  37: rustc::traits::select::SelectionContext::candidate_from_obligation
  38: rustc::traits::select::SelectionContext::evaluate_stack
  39: rustc::ty::context::tls::with_context
  40: rustc::dep_graph::graph::DepGraph::with_anon_task
  41: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  42: rustc::traits::select::SelectionContext::evaluate_candidate
  43: <&'a mut I as core::iter::iterator::Iterator>::next
  44: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  45: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  46: rustc::ty::context::tls::with_context
  47: rustc::dep_graph::graph::DepGraph::with_anon_task
  48: rustc::traits::select::SelectionContext::candidate_from_obligation
  49: rustc::traits::select::SelectionContext::evaluate_stack
  50: rustc::ty::context::tls::with_context
  51: rustc::dep_graph::graph::DepGraph::with_anon_task
  52: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  53: rustc::traits::select::SelectionContext::evaluate_candidate
  54: <&'a mut I as core::iter::iterator::Iterator>::next
  55: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  56: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  57: rustc::ty::context::tls::with_context
  58: rustc::dep_graph::graph::DepGraph::with_anon_task
  59: rustc::traits::select::SelectionContext::candidate_from_obligation
  60: rustc::traits::select::SelectionContext::evaluate_stack
  61: rustc::ty::context::tls::with_context
  62: rustc::dep_graph::graph::DepGraph::with_anon_task
  63: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  64: rustc::traits::select::SelectionContext::evaluate_candidate
  65: <&'a mut I as core::iter::iterator::Iterator>::next
  66: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  67: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  68: rustc::ty::context::tls::with_context
  69: rustc::dep_graph::graph::DepGraph::with_anon_task
  70: rustc::traits::select::SelectionContext::candidate_from_obligation
  71: rustc::traits::select::SelectionContext::evaluate_stack
  72: rustc::ty::context::tls::with_context
  73: rustc::dep_graph::graph::DepGraph::with_anon_task
  74: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  75: rustc::traits::select::SelectionContext::evaluate_candidate
  76: <&'a mut I as core::iter::iterator::Iterator>::next
  77: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  78: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  79: rustc::ty::context::tls::with_context
  80: rustc::dep_graph::graph::DepGraph::with_anon_task
  81: rustc::traits::select::SelectionContext::candidate_from_obligation
  82: rustc::traits::select::SelectionContext::evaluate_stack
  83: rustc::ty::context::tls::with_context
  84: rustc::dep_graph::graph::DepGraph::with_anon_task
  85: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  86: rustc::traits::select::SelectionContext::evaluate_candidate
  87: <&'a mut I as core::iter::iterator::Iterator>::next
  88: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  89: rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache
  90: rustc::ty::context::tls::with_context
  91: rustc::dep_graph::graph::DepGraph::with_anon_task
  92: rustc::traits::select::SelectionContext::candidate_from_obligation
  93: rustc::traits::select::SelectionContext::evaluate_stack
  94: rustc::ty::context::tls::with_context
  95: rustc::dep_graph::graph::DepGraph::with_anon_task
  96: rustc::traits::select::SelectionContext::evaluate_predicate_recursively
  97: rustc::traits::select::SelectionContext::evaluate_candidate
  98: <&'a mut I as core::iter::iterator::Iterator>::next
  99: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `&'_ _: std::io::Write`
#1 [typeck_tables_of] processing `main`
#2 [typeck_item_bodies] type-checking all item bodies
end of query stack
error: aborting due to previous error


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

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.27.1 (5f2b325f6 2018-07-07) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin

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

Compiler Version

$rustc --version --verbose
rustc 1.27.1 (5f2b325f6 2018-07-07)
binary: rustc
commit-hash: 5f2b325f64ed6caa7179f3e04913db437656ec7e
commit-date: 2018-07-07
host: x86_64-unknown-linux-gnu
release: 1.27.1
LLVM version: 6.0

@nagisa
Copy link
Member

nagisa commented Jul 13, 2018

Probably #50439.

@ssbanerje
Copy link
Author

ssbanerje commented Jul 13, 2018

I'm not sure if they are related.

Seems like the code had a few bugs. The buf.as_ref() calls were incorrect.
Here is the correct code:

extern crate rand;
extern crate symphony_fpga;

use rand::{thread_rng, Rng};
use symphony_fpga::*;

fn rand_string(chars: &mut [u8]) {
    let charset: Vec<u8> = String::from("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ1234567890").into_bytes();
    let rnos: Vec<usize> = (0..chars.len())
        .map(|_| thread_rng().gen_range::<usize>(0, charset.len()))
        .collect();
    for i in 0..chars.len() {
        chars[i] = charset[rnos[i]];
    }
    chars[chars.len()-1] = '\0' as u8;
}

fn main() {
    // Initialize AWS libraries
    assert!(init_aws().is_ok());

    // Configuration
    let slot_id = 0;
    let queue_id = 0;
    let mut dma = DMAQueue::new(slot_id, queue_id).unwrap();

    // Input buffer
    let len = 1 << 10;
    let mut buf = vec![0u8; len];
    rand_string(&mut buf[..]);

    // Write data
    for channel in 0..4 {
        let write_address: i64 = 0x10000000 + channel*(1 << 34);
        assert!(dma.sync_write(&buf[..], write_address).is_ok());
    }

    // Read data
    let out = vec![0u8; len];
    for channel in 0..4 {
        let read_address:i64 = 0x10000000 + channel*(1 << 34);
        assert!(dma.sync_read(&mut buf[..], read_address).is_ok());
        assert_eq!(out, buf)
    }
}

I would have expected this to be a compile error, not the panic.

@estebank estebank added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Jul 16, 2018
@Michael-F-Bryan
Copy link

I just hit this ICE while trying to run cargo doc on the STM32 F3 "blinky" example, that may be an easier minimal test case.

Apparently it hit an error while documenting typenum, which I find quite strange.

Full Traceback
$ RUST_BACKTRACE=full cargo doc
 Documenting typenum v1.10.0                                                                                                                      
error: internal compiler error: librustc/traits/structural_impls.rs:178: impossible case reached

thread '<unnamed>' panicked at 'Box<Any>', librustc_errors/lib.rs:587:9
stack backtrace:
   0:     0x7f08d6191cce - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h503c4de3cbaa39ec
                               at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1:     0x7f08d616ad26 - std::sys_common::backtrace::print::he7f7fcffbfbdd001
                               at libstd/sys_common/backtrace.rs:71
                               at libstd/sys_common/backtrace.rs:59
   2:     0x7f08d616894d - std::panicking::default_hook::{{closure}}::h18eef6cea5c239ef
                               at libstd/panicking.rs:211
   3:     0x7f08d61686c0 - std::panicking::default_hook::h3a4e2111281a22b8
                               at libstd/panicking.rs:227
   4:     0x7f08d616907c - std::panicking::rust_panic_with_hook::h994a85e27ed7a7b5
                               at libstd/panicking.rs:477
   5:     0x7f08d6fcebde - std::panicking::begin_panic::h3c543689dc9a8398
   6:     0x7f08d6fc964f - rustc_errors::Handler::bug::h2ae554c4f2094ce7
   7:     0x7f08d7fa21cc - rustc::util::bug::opt_span_bug_fmt::{{closure}}::h6c186327df069241
   8:     0x7f08d7fa14a9 - rustc::ty::context::tls::with_opt::{{closure}}::h035b21249b69ab39
   9:     0x7f08d7ee80af - rustc::ty::context::tls::with_context_opt::hd755662e31029ad1
  10:     0x7f08d7fa1066 - rustc::ty::context::tls::with_opt::hb0e1214effa07dc2
  11:     0x7f08d81e8434 - rustc::util::bug::opt_span_bug_fmt::h2ccff75cfc5765cd
  12:     0x7f08d81e83a6 - rustc::util::bug::bug_fmt::h303c9acd9d69a5a6
  13:     0x7f08d7c7fc49 - rustc::traits::structural_impls::<impl rustc::ty::context::Lift<'tcx> for rustc::traits::SelectionError<'a>>::lift_to_tcx::h92c22caac3cb1cf0
  14:     0x7f08d8132658 - rustc::ty::context::TyCtxt::lift_to_global::hc20116a4b4a762d5
  15:     0x7f08d7c71e36 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  16:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  17:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  18:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  19:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  20:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  21:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  22:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  23:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  24:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  25:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  26:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  27:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  28:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  29:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  30:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  31:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  32:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  33:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  34:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  35:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  36:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  37:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  38:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  39:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  40:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  41:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  42:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  43:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  44:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  45:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  46:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  47:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  48:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  49:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  50:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  51:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  52:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  53:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  54:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  55:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  56:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  57:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  58:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  59:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  60:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  61:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  62:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  63:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  64:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  65:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  66:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  67:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  68:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  69:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  70:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  71:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  72:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  73:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  74:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  75:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  76:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  77:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  78:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  79:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  80:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  81:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  82:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  83:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  84:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  85:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  86:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  87:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  88:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  89:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  90:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b
  91:     0x7f08d82b0aad - rustc::infer::InferCtxt::probe::h0abe2dfc212b2505
  92:     0x7f08d828a2ba - <&'a mut I as core::iter::iterator::Iterator>::next::h7ddc38cc6a411b26
  93:     0x7f08d7d95d27 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter::ha33a367057272600
  94:     0x7f08d7c727eb - rustc::traits::select::SelectionContext::candidate_from_obligation_no_cache::h8e647359ec284c5e
  95:     0x7f08d7d1d5bd - rustc::dep_graph::graph::DepGraph::with_anon_task::h01097af714576927
  96:     0x7f08d7c71bf1 - rustc::traits::select::SelectionContext::candidate_from_obligation::h8e2a82721161dfdc
  97:     0x7f08d7c70f6b - rustc::traits::select::SelectionContext::evaluate_stack::h7371b75b58a31acb
  98:     0x7f08d7d27e8e - rustc::dep_graph::graph::DepGraph::with_anon_task::h8c30f19a5e57867c
  99:     0x7f08d7c70763 - rustc::traits::select::SelectionContext::evaluate_predicate_recursively::hacae6353397af69b

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

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.30.0-nightly (0f063aef6 2018-09-03) running on x86_64-unknown-linux-gnu

error: Could not document `typenum`.

Caused by:
  process didn't exit successfully: `rustdoc --crate-name typenum /home/michael/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.10.0/src/lib.rs --cap-lints allow --target thumbv7em-none-eabihf -o /home/michael/Documents/blinky/target/thumbv7em-none-eabihf/doc -L dependency=/home/michael/Documents/blinky/target/thumbv7em-none-eabihf/debug/deps -L dependency=/home/michael/Documents/blinky/target/debug/deps` (exit code: 1)

@ryanisaacg
Copy link

ryanisaacg commented Sep 12, 2018

I hit this error trying to run cargo doc on the latest nightly on the development branch of quicksilver, also failing when documenting typenum. This was on Windows 10, if that's relevant.

Additionally, I don't get the ICE on 1.28 stable.

@Aaron1011
Copy link
Member

@Michael-F-Bryan @ryanisaacg : The issue with documenting typenum should be fixed as of rustdoc 1.31.0-nightly (cae6efc37 2018-10-27).

For reference: #53505

@jonas-schievink jonas-schievink added C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 5, 2019
@Centril Centril added E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example A-trait-system Area: Trait system labels Mar 10, 2020
@jyn514
Copy link
Member

jyn514 commented Mar 20, 2023

Sounds like this was fixed at the same time typenum was fixed.

@jyn514 jyn514 closed this as completed Mar 20, 2023
@fmease fmease added A-trait-system Area: Trait system and removed A-trait-system Area: Trait system labels Dec 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-trait-system Area: Trait system C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example 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

10 participants