Skip to content

Need MCVE of QEMU(?) ppc64le f32 bug #179

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

Open
workingjubilee opened this issue Nov 3, 2021 · 3 comments
Open

Need MCVE of QEMU(?) ppc64le f32 bug #179

workingjubilee opened this issue Nov 3, 2021 · 3 comments
Labels
C-bug Category: Bug E-needs-mcve Call for participation. This issue needs a Minimal Complete and Verifiable Example.

Comments

@workingjubilee
Copy link
Member

In #175 we discovered our tests cause QEMU to bug out, but native POWER9 machines work just fine. We have not been able to reduce to an MCVE for this, unfortunately.

Meta

rustc --version --verbose:

rustc 1.58.0-nightly (29b124802 2021-10-25)
binary: rustc
commit-hash: 29b1248025b19bd132c8047fc710ea9314b9b76b
commit-date: 2021-10-25
host: x86_64-pc-windows-msvc
release: 1.58.0-nightly
LLVM version: 13.0.0

crate version:

stdsimd = { git = "https://github.com/rust-lang/portable-simd", rev = "772bf2090e04db68790549bae36e5180423f9f65" }
Test Failures

failures:

---- f32::is_finite::lanes_1 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false]`,\n right: `[true]` at crates/test_helpers/src/lib.rs:169"), [0.0])', /project/crates/test_helpers/src/lib.rs:85:43
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- f32::is_finite::lanes_16 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, true, true, true, true, true, true, true, true, true, true, true, false, true]`,\n right: `[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_finite::lanes_2 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true]`,\n right: `[true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_finite::lanes_32 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true]`,\n right: `[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_finite::lanes_4 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true, true, true]`,\n right: `[true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_finite::lanes_8 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, true, true, false, true, true, true, true]`,\n right: `[true, true, true, true, true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_infinite::lanes_1 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true]`,\n right: `[false]` at crates/test_helpers/src/lib.rs:169"), [0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_infinite::lanes_16 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true, false, false, false, false, false, false, false, false, false, false, false, false, true, false]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_infinite::lanes_2 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false]`,\n right: `[false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_infinite::lanes_32 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_infinite::lanes_4 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, false, false]`,\n right: `[false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_infinite::lanes_8 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, false, false, true, false, false, false, false]`,\n right: `[false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_normal::lanes_1 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true]`,\n right: `[false]` at crates/test_helpers/src/lib.rs:169"), [0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_normal::lanes_16 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, false, false, false, true, false, true, true, false, false, false, false, false, true]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_normal::lanes_2 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false]`,\n right: `[false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_normal::lanes_32 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, false, false, false, true, false, true, true, false, false, false, false, false, true, true, true, true, false, false, false, false, true, false, true, false, true, false, false, false, true]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_normal::lanes_4 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, false]`,\n right: `[false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_normal::lanes_8 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, false, false, false, true, false]`,\n right: `[false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_negative::lanes_1 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true]`,\n right: `[false]` at crates/test_helpers/src/lib.rs:169"), [0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_negative::lanes_16 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, true, false, true, true, false, true, true, false, false, true, true, false, true]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_negative::lanes_2 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false]`,\n right: `[false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_negative::lanes_32 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, true, false, true, true, false, true, true, false, false, true, true, false, true, true, true, true, true, false, false, true, true, false, true, true, true, false, false, false, true]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_negative::lanes_4 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, true]`,\n right: `[false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_negative::lanes_8 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true, false, true, true, false, true, true, false]`,\n right: `[false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_positive::lanes_1 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false]`,\n right: `[true]` at crates/test_helpers/src/lib.rs:169"), [0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_positive::lanes_16 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true, false, false, true, false, false, true, false, false, true, true, false, false, true, false]`,\n right: `[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_positive::lanes_2 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true]`,\n right: `[true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_positive::lanes_32 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true, false, false, true, false, false, true, false, false, true, true, false, false, true, false, false, false, false, false, true, true, false, false, true, false, false, false, true, true, true, false]`,\n right: `[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_positive::lanes_4 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true, false, false]`,\n right: `[true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_sign_positive::lanes_8 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true, false, false, true, false, false, true]`,\n right: `[true, true, true, true, true, true, true, true]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_subnormal::lanes_1 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[true]`,\n right: `[false]` at crates/test_helpers/src/lib.rs:169"), [0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_subnormal::lanes_16 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, false]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_subnormal::lanes_2 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, true]`,\n right: `[false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_subnormal::lanes_32 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false]`,\n right: `[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_subnormal::lanes_4 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, false, false, true]`,\n right: `[false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43

---- f32::is_subnormal::lanes_8 stdout ----
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Fail(Reason("assertion failed: `(left == right)` \n  left: `[false, false, false, true, false, true, false, false]`,\n right: `[false, false, false, false, false, false, false, false]` at crates/test_helpers/src/lib.rs:169"), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])', /project/crates/test_helpers/src/lib.rs:85:43


failures:
error: test failed, to rerun pass '-p core_simd --test f32_ops'
    f32::is_finite::lanes_1
    f32::is_finite::lanes_16
    f32::is_finite::lanes_2
    f32::is_finite::lanes_32
    f32::is_finite::lanes_4
    f32::is_finite::lanes_8
    f32::is_infinite::lanes_1
    f32::is_infinite::lanes_16
    f32::is_infinite::lanes_2
    f32::is_infinite::lanes_32
    f32::is_infinite::lanes_4
    f32::is_infinite::lanes_8
    f32::is_normal::lanes_1
    f32::is_normal::lanes_16
    f32::is_normal::lanes_2
    f32::is_normal::lanes_32
    f32::is_normal::lanes_4
    f32::is_normal::lanes_8
    f32::is_sign_negative::lanes_1
    f32::is_sign_negative::lanes_16
    f32::is_sign_negative::lanes_2
    f32::is_sign_negative::lanes_32
    f32::is_sign_negative::lanes_4
    f32::is_sign_negative::lanes_8
    f32::is_sign_positive::lanes_1
    f32::is_sign_positive::lanes_16
    f32::is_sign_positive::lanes_2
    f32::is_sign_positive::lanes_32
    f32::is_sign_positive::lanes_4
    f32::is_sign_positive::lanes_8
    f32::is_subnormal::lanes_1
    f32::is_subnormal::lanes_16
    f32::is_subnormal::lanes_2
    f32::is_subnormal::lanes_32
    f32::is_subnormal::lanes_4
    f32::is_subnormal::lanes_8

test result: FAILED. 252 passed; 36 failed; 0 ignored; 0 measured; 0 filtered out; finished in 290.26s

@workingjubilee workingjubilee added C-bug Category: Bug E-needs-mcve Call for participation. This issue needs a Minimal Complete and Verifiable Example. labels Nov 3, 2021
@calebzulawski
Copy link
Member

This seems to be gone in recent versions of QEMU. I found two new errors we can work around, and generated MCVEs reported for ppc32 (https://gitlab.com/qemu-project/qemu/-/issues/1779) and ppc64le (https://gitlab.com/qemu-project/qemu/-/issues/1780). See #357 reenabling ppc64le.

@workingjubilee
Copy link
Member Author

workingjubilee commented Jul 27, 2023

@calebzulawski what's a version of QEMU that's fixed? (don't need a bisection, just "use at least QEMU x.y.z")

@calebzulawski
Copy link
Member

The new version of cross seems to use 6.1.0 (which isn't particularly new)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Bug E-needs-mcve Call for participation. This issue needs a Minimal Complete and Verifiable Example.
Projects
None yet
Development

No branches or pull requests

2 participants