Regression in 8.2.0 on s390x (big-endian): tests fast_int and ipv4_test fail
While testing an update to version 8.2.0 for [Fedora’s `fast_float` package](https://src.fedoraproject.org/rpms/fast_float), I found that `fast_int` fails on `s390x`. This is our sole big-endian primary architecture, so it is very likely that this is an endianness bug.
```
11/14 Test #12: fast_int .........................***Failed 0.00 sec
could not convert to unsigned char for input: "10 "
```
This is a new regression since 8.1.0.
Working in a [`mock`](github.com/rpm-software-management/mock) chroot with `qemu-user-static` emulation, I was able to bisect it to fce0ab61df6752c26cd67184df429b997ccbf11b, fdb0eddf9912d687ec196bb488c5f439be6411fd, and 780c34135951c059e652808c190b607a6a43a5a3, that is, something in 0920535f64714bd117963864501c91b71cb50c42...780c34135951c059e652808c190b607a6a43a5a3. I couldn’t bisect to a single commit because the first two of the three commits don’t compile successfully. Still, this ought to be a good start in tracking down the problem.
-----
I also tried running the exhaustive tests, which we don’t run every time we build the Fedora package but which I like to run manually once for each new `fast_float` release, and I found that `ipv4_test` also fails:
```
15/24 Test #15: ipv4_test ........................Subprocess aborted***Exception: 0.09 sec
Testing all IPv4 conversions... 0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, ...
.terminate called after throwing an instance of 'std::invalid_argument'
what(): Invalid IP address format
```
The longer-running exhaustive tests haven’t finished yet.
关闭于 2025-12-29 6 条评论