You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mod internal {extern"C"{pubstatic main:fn();}}fnmain(){unsafe{ internal::main()}}
I expected to see this happen: This program should compile, and probably crash at runtime
Instead, this happened: rustc crashes with exit code: 0xc0000374, STATUS_HEAP_CORRUPTION), (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION), and (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN). Each time I run cargo build, rustc exits with one of those 3 statuses.
Oh, and one time I got it to ICE instead, which the backtrace is from
Meta
rustc --version --verbose:
rustc 1.41.1 (f3e1a954d 2020-02-24)
Backtrace
warning: `extern` block uses type `fn()`, which is not FFI-safe
--> src\main.rs:3:26
|
3 | pub static main: fn();
| ^^^^ not FFI-safe
|
= note: `#[warn(improper_ctypes)]` on by default
= help: consider using an `extern fn(...) -> ...` function pointer instead
= note: this function pointer has Rust-specific calling convention
thread 'rustc' panicked at 'out of bounds argument access: 0 out of 0 arguments', src\librustc_codegen_llvm\llvm\mod.rs:200:9
stack backtrace:
0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
1: core::fmt::write
2: <std::io::IoSliceMut as core::fmt::Debug>::fmt
3: std::panicking::take_hook
4: std::panicking::take_hook
5: rustc_driver::report_ice
6: std::panicking::rust_panic_with_hook
7: rust_begin_unwind
8: std::panicking::begin_panic_fmt
9: rustc_codegen_llvm::abi::<impl rustc_codegen_ssa::traits::abi::AbiBuilderMethods for rustc_codegen_llvm::builder::Builder>::get_param
10: <rustc_codegen_llvm::llvm_::ffi::PassKind as core::fmt::Debug>::fmt
11: <rustc_codegen_llvm::llvm_::ffi::PassKind as core::fmt::Debug>::fmt
12: <rustc_codegen_llvm::base::ValueIter as core::iter::traits::iterator::Iterator>::next
13: <rustc_codegen_llvm::back::lto::ThinLTOImports as core::fmt::Debug>::fmt
14: <rustc_codegen_llvm::base::ValueIter as core::iter::traits::iterator::Iterator>::next
15: <rustc_codegen_llvm::llvm_::ffi::PassKind as core::fmt::Debug>::fmt
16: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_utils::codegen_backend::CodegenBackend>::codegen_crate
17: rustc_interface::passes::QueryContext::print_stats
18: rustc_interface::passes::QueryContext::print_stats
19: <env_logger::filter::inner::Filter as core::fmt::Debug>::fmt
20: rustc_interface::queries::Queries::ongoing_codegen
21: rustc_driver::pretty::print_after_hir_lowering
22: <syntax_pos::symbol::SymbolStr as core::fmt::Display>::fmt
23: <chalk_engine::stack::StackIndex as core::convert::From<usize>>::from
24: <rustc_driver::Compilation as core::fmt::Debug>::fmt
25: <chalk_engine::stack::StackIndex as core::convert::From<usize>>::from
26: _rust_maybe_catch_panic
27: rustc_driver::pretty::print_after_hir_lowering
28: ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17
29: std::sys::windows::thread::Thread::new
30: BaseThreadInitThunk
31: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: internal compiler error: unexpected panic
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.41.1 (f3e1a954d 2020-02-24) running on x86_64-pc-windows-msvc
note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
end of query stack
error: could not compile `mainfun`.
The text was updated successfully, but these errors were encountered:
I tried this code:
I expected to see this happen: This program should compile, and probably crash at runtime
Instead, this happened: rustc crashes with
exit code: 0xc0000374, STATUS_HEAP_CORRUPTION)
,(exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
, and(exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)
. Each time I runcargo build
, rustc exits with one of those 3 statuses.Oh, and one time I got it to ICE instead, which the backtrace is from
Meta
rustc --version --verbose
:Backtrace
The text was updated successfully, but these errors were encountered: