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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions