Bug#1098270: trimesh: Build fails on s390x due to math errors in autopkgtest

Gregor Riepl <[email protected]>
Newsgroups gmane.linux.debian.ports.s390
Message-ID <173989026701.47277.10211558449430376042.reportbug__42937.8648333781$1739890465$gmane$org@aiko>
Source: trimesh
Version: 4.5.1-3
Severity: normal
X-Debbugs-Cc: [email protected], [email protected]
User: [email protected]
Usertags: s390x

Several unit tests of trimesh are currently failing on s390x due to math
errors:
https://buildd.debian.org/status/fetch.php?pkg=trimesh&arch=s390x&ver=4.5.1-3&stamp=1739446909&raw=0

I'm not familiar with IBM Z, but I suspect the errors may be caused by
endianness issues (possibly in a supporting library).
We currently don't have any other big endian builds to compare with, so it's
unclear if this is the case.

Example output:

/build/reproducible-
path/trimesh-4.5.1/.pybuild/cpython3_3.13/build/tests/test_ply.py:127:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (array([-4.0472194e+16, -2.0552418e-08,  8.8456492e+04, ...,
       -2.9970339e+22, -4.0331457e+16, -4.0331457e+16],
 ...95, 1.091329758947, 1.53650744212 , ...,
       2.356194490192, 0.785398163397, 0.785398163397], shape=(8954,)), 7, '')
kwargs = {}, old_name = 'y', new_name = 'desired'

    @functools.wraps(fun)
    def wrapper(*args, **kwargs):
        for old_name, new_name in zip(old_names, new_names):
            if old_name in kwargs:
                if dep_version:
                    end_version = dep_version.split('.')
                    end_version[1] = str(int(end_version[1]) + 2)
                    end_version = '.'.join(end_version)
                    msg = (f"Use of keyword argument `{old_name}` is "
                           f"deprecated and replaced by `{new_name}`. "
                           f"Support for `{old_name}` will be removed "
                           f"in NumPy {end_version}.")
                    warnings.warn(msg, DeprecationWarning, stacklevel=2)
                if new_name in kwargs:
                    msg = (f"{fun.__name__}() got multiple values for "
                           f"argument now known as `{new_name}`")
                    raise TypeError(msg)
                kwargs[new_name] = kwargs.pop(old_name)
>       return fun(*args, **kwargs)
E       AssertionError:
E       Arrays are not almost equal to 7 decimals
E
E       nan location mismatch:
E        ACTUAL: array([-4.0472194e+16, -2.0552418e-08,  8.8456492e+04, ...,
E              -2.9970339e+22, -4.0331457e+16, -4.0331457e+16],
E             shape=(8954,), dtype='<f4')
E        DESIRED: array([1.5707963, 1.0913298, 1.5365074, ..., 2.3561945,
0.7853982,
E              0.7853982], shape=(8954,))


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable'), (300, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.12-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.