Skip to content
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

Tests failed on fedora koji on s390x arch #88

Closed
ghost opened this issue Jul 6, 2021 · 8 comments
Closed

Tests failed on fedora koji on s390x arch #88

ghost opened this issue Jul 6, 2021 · 8 comments

Comments

@ghost
Copy link

ghost commented Jul 6, 2021

https://kojipkgs.fedoraproject.org//work/tasks/4780/71404780/build.log
It is possible that the problem is with rust or the fact that it is a big endianness arch, but you should better know it then me.

failures:
---- impl_f32x4_recip_sqrt stdout ----
thread 'impl_f32x4_recip_sqrt' panicked at 'assertion failed: actual.is_nan().any()', tests/t_f32x4.rs:574:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
---- impl_f32x4_sqrt stdout ----
thread 'impl_f32x4_sqrt' panicked at 'assertion failed: (left == right)
left: (-0.0, -0.0, -0.0, -0.0),
right: (inf, inf, inf, inf)', tests/t_f32x4.rs:614:5
failures:
impl_f32x4_recip_sqrt
impl_f32x4_sqrt
test result: FAILED. 46 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

@Lokathor
Copy link
Owner

Lokathor commented Jul 6, 2021

I've never tested this crate on big-endian honestly. There's probably numerous bugs on BE systems. I don't have any BE systems to test on but I'd be happy to accept a fix from anyone with such a system who makes a patch.

As I recall, those routines convert the float to u32, then do some bit operations, then convert back. If the byte order of floats and unsigned ints don't match then that could cause a problem for example.

@ghost
Copy link
Author

ghost commented Dec 12, 2021

With version 0.7.2 there is only one test that failed now.

failures:
---- test_software_sqrt stdout ----
thread 'test_software_sqrt' panicked at 'assertion failed: software_sqrt(f64::NAN).is_nan()', src/lib.rs:872:3

https://kojipkgs.fedoraproject.org//work/tasks/7394/79897394/build.log

@Lokathor
Copy link
Owner

That's a little concerning because I'm 99% sure this is from libm, but... we can fix that up with a early out I guess?

@Lokathor
Copy link
Owner

okay, 0.7.3 should fix that error at least, though other asserts in the same test are probably still an error since i don't have a local BE system to test on.

@ghost
Copy link
Author

ghost commented Dec 12, 2021

It correct the assertion problem. now there is only one test failing.

test test_software_sqrt ... FAILED
failures:
---- test_software_sqrt stdout ----
thread 'test_software_sqrt' panicked at 'assertion failed: (left == right)
left: 361379264997087600000000000000000000000000000000000000000000000000000000000000000000.0,
right: inf', src/lib.rs:876:3

https://kojipkgs.fedoraproject.org//work/tasks/9840/79899840/build.log

@Lokathor
Copy link
Owner

Yeah, that's just a few lines later in the same test. Since the function relies on transmuting multi-byte values it's sensitive to endian-ness.

it's probably possible to fix that with sufficient care.

@mcroomp
Copy link
Contributor

mcroomp commented Feb 25, 2023

This is fixed now and the build verification now includes MIPS bigendian

@Lokathor
Copy link
Owner

good news closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants