Skip to content

Assertion failure in display implementation under miri #142

@SUPERCILEX

Description

@SUPERCILEX
thread 'advanced_create_files::num_files_1_1::bytes_3__1_000_true_::max_depth_1_0::ftd_ratio_1_1::files_exact_1_false' (172243) panicked at /home/asaveau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytesize-2.3.1/src/display.rs:179:5:
only called when bytes >= unit
stack backtrace:
   0: std::panicking::panic_handler
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:689:5
   1: more_asserts::core::panicking::panic_fmt
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:80:14
   2: bytesize::display::ideal_unit_std
             at /home/asaveau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytesize-2.3.1/src/display.rs:179:5
   3: <bytesize::display::Display as std::fmt::Display>::fmt
             at /home/asaveau/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytesize-2.3.1/src/display.rs:139:23
   4: more_asserts::core::fmt::rt::Argument::<'_>::fmt
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/rt.rs:152:76
   5: std::fmt::write
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:1684:17
   6: <&mut std::string::String as std::fmt::Write::write_fmt::SpecWriteFmt>::spec_write_fmt
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:236:21
   7: <std::string::String as std::fmt::Write>::write_fmt
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:241:9
   8: std::fmt::format::format_inner
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/fmt.rs:653:9
   9: std::fmt::format::{closure#0}
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/fmt.rs:659:34
  10: std::option::Option::<&str>::map_or_else::<std::string::String, {closure@std::fmt::format::{closure#0}}, for<'a> fn(&'a str) -> <str as std::borrow::ToOwned>::Owned {<str as std::borrow::ToOwned>::to_owned}>
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1278:21
  11: std::fmt::format
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/fmt.rs:659:5
  12: ftzz::generator::print_stats::<std::string::String>
             at src/generator.rs:348:13
  13: ftzz::Generator::generate::<std::string::String>
             at src/generator.rs:145:9
  14: advanced_create_files
             at tests/generator.rs:165:5
  15: advanced_create_files::num_files_1_1::bytes_3__1_000_true_::max_depth_1_0::ftd_ratio_1_1::files_exact_1_false
             at tests/generator.rs:146:1
  16: advanced_create_files::num_files_1_1::bytes_3__1_000_true_::max_depth_1_0::ftd_ratio_1_1::files_exact_1_false::{closure#0}
             at tests/generator.rs:146:10
  17: <{closure@tests/generator.rs:146:1: 146:10} as std::ops::FnOnce<()>>::call_once - shim
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  18: <fn() -> std::result::Result<(), std::string::String> as std::ops::FnOnce<()>>::call_once - shim(fn() -> std::result::Result<(), std::string::String>)
             at /home/asaveau/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Sorry, I don't have the time to make a nice reproducer, but you can clone https://github.com/SUPERCILEX/ftzz and run RUST_BACKTRACE=1 MIRIFLAGS="-Zmiri-env-forward=RUST_BACKTRACE -Zmiri-disable-isolation" cargo miri t -- advanced_create_files::num_files_1_1::bytes_3__1_000_true_::max_depth_1_0::ftd_ratio_1_1::files_exact_1_false to repro.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions