-
Notifications
You must be signed in to change notification settings - Fork 121
Closed
Labels
T-UserTag user issues / requestsTag user issues / requestsZ-Kani CompilerIssues that require some changes to the compilerIssues that require some changes to the compiler[C] Feature / EnhancementA new feature request or enhancement to an existing feature.A new feature request or enhancement to an existing feature.[E] Unsupported ConstructAdd support to an unsupported constructAdd support to an unsupported construct
Description
With the update to the 2022-11-20 rust toolchain, a debug assert is hit on the firecracker regression.
Command to run:
./scripts/codegen-firecracker.sh
Crash:
WARN kani_compiler::codegen_cprover_gotoc::codegen::place Unexpected type mismatch in projection:
Expr { value: Index { array: Expr { value: Symbol { identifier: "_RNvXsb_NtNtCs731DbSNn5GY_4core9core_simd6vectorINtB5_4SimdhKj1_EINtNtB9_7convert4FromAhBW_E4fromCsb5cH7nQNIBq_10micro_http::1::var_0" }, typ: Vector { typ: Unsignedbv { width: 8 }, size: 1 }, location: None }, index: Expr { value: IntConstant(0), typ: CInteger(SizeT), location: None } }, typ: Unsignedbv { width: 8 }, location: None }
Expr type
Unsignedbv { width: 8 }
Type from MIR
StructTag("tag-[_13358953601680865708; 1]")
thread '<unnamed>' panicked at 'Unexpected type mismatch in projection:
Expr { value: Index { array: Expr { value: Symbol { identifier: "_RNvXsb_NtNtCs731DbSNn5GY_4core9core_simd6vectorINtB5_4SimdhKj1_EINtNtB9_7convert4FromAhBW_E4fromCsb5cH7nQNIBq_10micro_http::1::var_0" }, typ: Vector { typ: Unsignedbv { width: 8 }, size: 1 }, location: None }, index: Expr { value: IntConstant(0), typ: CInteger(SizeT), location: None } }, typ: Unsignedbv { width: 8 }, location: None }
Expr type
Unsignedbv { width: 8 }
Type from MIR
StructTag("tag-[_13358953601680865708; 1]")', kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs:179:13
stack backtrace:
0: rust_begin_unwind
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/std/src/panicking.rs:575:5
1: core::panicking::panic_fmt
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/panicking.rs:65:14
2: core::panicking::panic_display
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/panicking.rs:138:5
3: kani_compiler::codegen_cprover_gotoc::codegen::place::ProjectedPlace::try_new
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs:179:13
4: kani_compiler::codegen_cprover_gotoc::codegen::place::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_projection
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs:422:17
5: kani_compiler::codegen_cprover_gotoc::codegen::place::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_place::{{closure}}
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs:579:53
6: core::iter::adapters::copied::copy_fold::{{closure}}
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/adapters/copied.rs:31:22
7: core::iter::traits::iterator::Iterator::fold
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/traits/iterator.rs:2414:21
8: <core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::fold
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/adapters/copied.rs:76:9
9: kani_compiler::codegen_cprover_gotoc::codegen::place::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_place
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs:576:22
10: kani_compiler::codegen_cprover_gotoc::codegen::statement::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_statement
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/statement.rs:54:72
11: kani_compiler::codegen_cprover_gotoc::codegen::block::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_block
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/block.rs:31:32
12: kani_compiler::codegen_cprover_gotoc::codegen::function::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_function::{{closure}}
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/function.rs:85:69
13: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/traits/iterator.rs:828:29
14: core::iter::adapters::map::map_fold::{{closure}}
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/adapters/map.rs:84:21
15: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}}
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/adapters/enumerate.rs:106:27
16: core::iter::traits::iterator::Iterator::fold
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/traits/iterator.rs:2414:21
17: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/adapters/enumerate.rs:112:9
18: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/adapters/map.rs:124:9
19: core::iter::traits::iterator::Iterator::for_each
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/core/src/iter/traits/iterator.rs:831:9
20: kani_compiler::codegen_cprover_gotoc::codegen::function::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::codegen_function
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/codegen/function.rs:85:13
21: <kani_compiler::codegen_cprover_gotoc::compiler_interface::GotocCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate::{{closure}}
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/compiler_interface.rs:116:31
22: kani_compiler::codegen_cprover_gotoc::utils::debug::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::call_with_panic_debug_info::{{closure}}
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/utils/debug.rs:68:13
23: std::thread::local::LocalKey<T>::try_with
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/std/src/thread/local.rs:446:16
24: std::thread::local::LocalKey<T>::with
at /rustc/c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b/library/std/src/thread/local.rs:422:9
25: kani_compiler::codegen_cprover_gotoc::utils::debug::<impl kani_compiler::codegen_cprover_gotoc::context::goto_ctx::GotocCtx>::call_with_panic_debug_info
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/utils/debug.rs:65:9
26: <kani_compiler::codegen_cprover_gotoc::compiler_interface::GotocCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
at /home/ubuntu/git/kani/kani-compiler/src/codegen_cprover_gotoc/compiler_interface.rs:115:21
27: <rustc_session::session::Session>::time::<alloc::boxed::Box<dyn core::any::Any>, rustc_interface::passes::start_codegen::{closure#0}>
28: rustc_interface::passes::start_codegen
29: <rustc_interface::passes::QueryContext>::enter::<<rustc_interface::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core::result::Result<alloc::boxed::Box<dyn core::any::Any>, rustc_errors::ErrorGuaranteed>>
30: <rustc_interface::queries::Queries>::ongoing_codegen
31: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorGuaranteed>>
32: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
33: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Kani unexpectedly panicked during compilation.
If you are seeing this message, please file an issue here: https://github.com/model-checking/kani/issues/new?labels=bug&template=bug_report.md
[Kani] current codegen item: codegen_function: <std::simd::Simd<u8, 1> as std::convert::From<[u8; 1]>>::from
_RNvXsb_NtNtCs731DbSNn5GY_4core9core_simd6vectorINtB5_4SimdhKj1_EINtNtB9_7convert4FromAhBW_E4fromCsb5cH7nQNIBq_10micro_http
[Kani] current codegen location: Loc { file: "/home/ubuntu/.rustup/toolchains/nightly-2022-11-20-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/portable-simd/crates/core_simd/src/vector.rs", function: None, start_line: 627, start_col: Some(5), end_line: 627, end_col: Some(39) }
Metadata
Metadata
Assignees
Labels
T-UserTag user issues / requestsTag user issues / requestsZ-Kani CompilerIssues that require some changes to the compilerIssues that require some changes to the compiler[C] Feature / EnhancementA new feature request or enhancement to an existing feature.A new feature request or enhancement to an existing feature.[E] Unsupported ConstructAdd support to an unsupported constructAdd support to an unsupported construct