Test failure in aspect_ratio::tests::invalid_viewbox on i386: error not raised as expected
In the Debian i386 build after upgrading to 2.48.4:
failures:
---- aspect_ratio::tests::invalid_viewbox stdout ----
thread 'aspect_ratio::tests::invalid_viewbox' panicked at 'assertion failed: `(left == right)`
left: `Ok(Some(Transform { xx: 0.0000000000000000000016666666332652051, yx: 0.0, xy: 0.0, yy: 0.0000000000000000000016062254407192659, x0: 1.0, y0: 1.5 }))`,
right: `Err(())`', rsvg_internals/src/aspect_ratio.rs:472:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failures:
aspect_ratio::tests::invalid_viewbox
test result: FAILED. 173 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
This seems to be a regression since 2.48.3. The new test added for #588 (closed) asserts that using a comically huge viewBox results in an error being raised, but on i386 it succeeds.
This might be caused by excess precision (80-bit floating point) in the i387 FPU? Debian i386 compiles with i387 rather than SSE floating point operations, because the baseline CPU for our i386 compiler is currently i686 without MMX or SSE, to be able to support older and non-Intel, non-AMD CPUs.