constellation-rs / amadeus

Harmonious distributed data analysis in Rust.
https://constellation.rs/amadeus
Apache License 2.0
474 stars 26 forks source link

Improve miri coverage #83

Open alecmocatta opened 4 years ago

alecmocatta commented 4 years ago

cargo miri test succeeds but most tests are disabled, blocked on https://github.com/rust-lang/miri/issues/1038.

$ RUST_BACKTRACE=1 cargo +nightly-2020-07-07 miri test --test single_threaded

running 1 test
error: internal compiler error: /rustc/0c03aee8b81185d65b5821518661c30ecdb42de5/src/librustc_middle/macros.rs:7:9: vtable not supported on type std::pin::Pin<&mut dyn futures::Future<Output = (streaming_algorithms::sample::SampleUnstable<std::string::String>, (std::collections::HashMap<std::string::String, usize>, usize, (), usize))>>

thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:916:9
stack backtrace:
   0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
   1: core::fmt::write
   2: std::io::Write::write_fmt
   3: std::panicking::default_hook::{{closure}}
   4: std::panicking::default_hook
   5: rustc_driver::report_ice
   6: std::panicking::rust_panic_with_hook
   7: std::panicking::begin_panic
   8: rustc_errors::HandlerInner::bug
   9: rustc_errors::Handler::bug
  10: rustc_middle::util::bug::opt_span_bug_fmt::{{closure}}
  11: rustc_middle::ty::context::tls::with_opt::{{closure}}
  12: rustc_middle::ty::context::tls::with_opt
  13: rustc_middle::util::bug::opt_span_bug_fmt
  14: rustc_middle::util::bug::bug_fmt
  15: rustc_mir::interpret::terminator::<impl rustc_mir::interpret::eval_context::InterpCx<M>>::eval_fn_call
  16: rustc_mir::interpret::step::<impl rustc_mir::interpret::eval_context::InterpCx<M>>::terminator
  17: miri::eval::eval_main
  18: rustc_middle::ty::context::tls::enter_global
  19: <miri::MiriCompilerCalls as rustc_driver::Callbacks>::after_analysis
  20: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  21: rustc_span::with_source_map
  22: rustc_interface::interface::run_compiler_in_existing_thread_pool
  23: scoped_tls::ScopedKey<T>::set
  24: rustc_ast::attr::with_globals
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/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.46.0-nightly (0c03aee8b 2020-07-05) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental -C target-cpu=native

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

query stack during panic:
end of query stack
error: aborting due to previous error; 3 warnings emitted

test single_threaded ...
error: could not compile `amadeus`.

Also affected by https://github.com/rust-lang/miri/issues/1512 https://github.com/rust-lang/miri/issues/1514 https://github.com/rust-lang/miri/issues/1516.