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

ICE in teensy4-fcb 0.3.0: error during interning should later cause validation failure #101034

Closed
saethlin opened this issue Aug 25, 2022 · 3 comments · Fixed by #101038
Closed
Labels
A-const-eval Area: Constant evaluation (MIR interpretation) I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way.

Comments

@saethlin
Copy link
Member

saethlin commented Aug 25, 2022

I'm downloading this crate from crates.io with cargo-download, if you are looking to reproduce. Don't know what git commit this version corresponds to.

╭ ➜ ben@archlinux:/tmp/teensy4-fcb-0.3.0
╰ ➤ cargo +miri miri test
Preparing a sysroot for Miri (target: x86_64-unknown-linux-gnu)... done
   Compiling teensy4-fcb v0.3.0 (/tmp/teensy4-fcb-0.3.0)
warning: Error finalizing incremental compilation session directory `/tmp/teensy4-fcb-0.3.0/target/miri/x86_64-unknown-linux-gnu/debug/incremental/teensy4_fcb-av1fopa54ky2/s-gcxx4h92b7-gdl6q4-working`: No such file or directory (os error 2)

error: internal compiler error: no errors encountered even though `delay_span_bug` issued

error: internal compiler error: error during interning should later cause validation failure: accessing memory with alignment 1, but alignment 4 is required
   --> src/lib.rs:102:1
    |
102 | const COMMON_CONFIGURATION_BLOCK: flexspi::ConfigurationBlock =
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: delayed at compiler/rustc_const_eval/src/interpret/intern.rs:390:30

error: internal compiler error: error during interning should later cause validation failure: accessing memory with alignment 1, but alignment 4 is required
   --> src/lib.rs:120:1
    |
120 | pub static FLEXSPI_CONFIGURATION_BLOCK: nor::ConfigurationBlock =
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: delayed at compiler/rustc_const_eval/src/interpret/intern.rs:390:30

I have no idea how this is possible. This isn't a #![forbid(unsafe)] crate, but cargo geiger finds no unsafe.

backtrace ``` thread 'rustc' panicked at 'Box', compiler/rustc_errors/src/lib.rs:1427:13 stack backtrace: 0: 0x7fe89716e6d0 - std::backtrace_rs::backtrace::libunwind::trace::h850ff1a0c3d9fdd7 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 1: 0x7fe89716e6d0 - std::backtrace_rs::backtrace::trace_unsynchronized::hb027726a633b9940 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x7fe89716e6d0 - std::sys_common::backtrace::_print_fmt::h5caab733d2f6988a at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/sys_common/backtrace.rs:66:5 3: 0x7fe89716e6d0 - ::fmt::hdde469ef2c900889 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/sys_common/backtrace.rs:45:22 4: 0x7fe8971c976e - core::fmt::write::h652f9c882cd915d6 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/core/src/fmt/mod.rs:1202:17 5: 0x7fe89715f5d5 - std::io::Write::write_fmt::hc86f310f58407a21 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/io/mod.rs:1672:15 6: 0x7fe897171393 - std::sys_common::backtrace::_print::he3151b9612f2cb1c at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/sys_common/backtrace.rs:48:5 7: 0x7fe897171393 - std::sys_common::backtrace::print::h4ec5b0bf2cf6801f at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/sys_common/backtrace.rs:35:9 8: 0x7fe897171393 - std::panicking::default_hook::{{closure}}::h0eea56e2b7a0583d at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/panicking.rs:295:22 9: 0x7fe89717107f - std::panicking::default_hook::h9faf2b89120c3ca0 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/panicking.rs:314:9 10: 0x7fe8999ab494 - rustc_driver[8170f2effe76d0b1]::DEFAULT_HOOK::{closure#0}::{closure#0} 11: 0x7fe897171bcd - std::panicking::rust_panic_with_hook::h41881d4c2e288663 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/panicking.rs:702:17 12: 0x7fe89aa6d5d1 - std[6176ebdb849c2141]::panicking::begin_panic::::{closure#0} 13: 0x7fe89aa6d586 - std[6176ebdb849c2141]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> 14: 0x7fe89aa67dd6 - std[6176ebdb849c2141]::panicking::begin_panic:: 15: 0x7fe89aa6a596 - std[6176ebdb849c2141]::panic::panic_any:: 16: 0x7fe89948b230 - ::drop 17: 0x7fe8990e9db8 - core[ca3ac0430488f954]::ptr::drop_in_place:: 18: 0x7fe8990c00c3 - as core[ca3ac0430488f954]::ops::drop::Drop>::drop 19: 0x7fe8990bf62d - core[ca3ac0430488f954]::ptr::drop_in_place:: 20: 0x7fe8990bead9 - rustc_span[3aa3f8a4aae1164f]::with_source_map::, rustc_interface[3d10aad4a167cf18]::interface::create_compiler_and_run, rustc_driver[8170f2effe76d0b1]::run_compiler::{closure#1}>::{closure#1}> 21: 0x7fe8990be302 - rustc_interface[3d10aad4a167cf18]::interface::create_compiler_and_run::, rustc_driver[8170f2effe76d0b1]::run_compiler::{closure#1}> 22: 0x7fe8990bcea1 - >::set::, rustc_driver[8170f2effe76d0b1]::run_compiler::{closure#1}>::{closure#0}, core[ca3ac0430488f954]::result::Result<(), rustc_errors[28a60eca1a08eed5]::ErrorGuaranteed>> 23: 0x7fe8990bcb8f - std[6176ebdb849c2141]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver[8170f2effe76d0b1]::run_compiler::{closure#1}>::{closure#0}, core[ca3ac0430488f954]::result::Result<(), rustc_errors[28a60eca1a08eed5]::ErrorGuaranteed>>::{closure#0}, core[ca3ac0430488f954]::result::Result<(), rustc_errors[28a60eca1a08eed5]::ErrorGuaranteed>> 24: 0x7fe8997d42c9 - <::spawn_unchecked_, rustc_driver[8170f2effe76d0b1]::run_compiler::{closure#1}>::{closure#0}, core[ca3ac0430488f954]::result::Result<(), rustc_errors[28a60eca1a08eed5]::ErrorGuaranteed>>::{closure#0}, core[ca3ac0430488f954]::result::Result<(), rustc_errors[28a60eca1a08eed5]::ErrorGuaranteed>>::{closure#1} as core[ca3ac0430488f954]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 25: 0x7fe89717b9c3 - as core::ops::function::FnOnce>::call_once::h20aa7f83790b6d6c at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/alloc/src/boxed.rs:1935:9 26: 0x7fe89717b9c3 - as core::ops::function::FnOnce>::call_once::h082931b1ec2f572d at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/alloc/src/boxed.rs:1935:9 27: 0x7fe89717b9c3 - std::sys::unix::thread::Thread::new::thread_start::h5e56cc2c93616735 at /rustc/e1b28cd2f16bd5b832183d7968cae3bb9213e78d/library/std/src/sys/unix/thread.rs:108:17 28: 0x7fe896dfa78d - 29: 0x7fe896e7b8e4 - clone 30: 0x0 -

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.65.0-nightly (e1b28cd 2022-08-19) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C linker=clang -C incremental -C link-arg=-fuse-ld=mold

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

query stack during panic:
end of query stack
warning: teensy4-fcb (lib) generated 1 warning
error: could not compile teensy4-fcb; 1 warning emitted

</details>

miri 0.1.0 (d5853bc 2022-08-25)

@RalfJung
Copy link
Member

That's not even a Miri ICE, it's a rustc ICE. Probably caused by -Zextra-const-ub-checks -- I expect it can be reproduced without Miri by using that flag.

@saethlin
Copy link
Member Author

Ah yes! I just couldn't get this to ICE with just cargo +nightly check but with -Zextra-const-ub-checks it does.

@oli-obk oli-obk transferred this issue from rust-lang/miri Aug 26, 2022
@oli-obk oli-obk added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ A-const-eval Area: Constant evaluation (MIR interpretation) requires-nightly This issue requires a nightly compiler in some way. labels Aug 26, 2022
@RalfJung
Copy link
Member

I am pretty sure #101038 should fix the problem. But I have no idea how to even trigger it in a self-contained testcase.

@bors bors closed this as completed in 5b80814 Aug 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-const-eval Area: Constant evaluation (MIR interpretation) I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants