Bug 2006515 - Various test failures on big-endian architectures
Summary: Various test failures on big-endian architectures
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: python-trimesh
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ankur Sinha (FranciscoD)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-09-21 18:39 UTC by Ben Beasley
Modified: 2024-11-27 21:00 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-11-27 21:00:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Excerpt from build.log with test failure details (10.77 KB, text/plain)
2021-09-21 18:41 UTC, Ben Beasley
no flags Details

Description Ben Beasley 2021-09-21 18:39:45 UTC
Description of problem:

I’m working on updating python-trimesh with the following improvements:

  - Use pyproject-rpm-macros (“new guidelines”) so the many BuildRequires are
    more manageable
  - Update -easy and -all subpackages to follow the pattern in the PythonExtras
    Change (https://fedoraproject.org/wiki/Changes/PythonExtras#Extras_metapackages)
  - Restore the python3dist(xxhash) to the [easy] and [all] extras, now that
    I have packaged it
  - Build HTML documentation and add a -doc subpackage

Additionally, I’m trying to work out the various architecture-dependent issues in the package in a methodical way.

The package is fundamentally noarch, as it is only pure-Python code. However,
it looks like it will nonetheless need to be be switched to an arched package:

  - Arch-dependent test failures (related to issues around endianness or
    native word length) are relatively common. An arched package means builds
    are done on all architectures every time, so these problems are
    discovered early. When there are failures that cannot be worked around
    immediately, it also allows the use of %%ifarch to skip tests
    conditionally.

    This *does not* preclude making all of the binary subpackages noarch,
    as long as the contents match on all architectures.

  - Some dependencies have ExcludeArch restrictions. Normally we would write
      ExclusiveArch:    <arch1> <arch2> … noarch
    per
      https://docs.fedoraproject.org/en-US/packaging-guidelines/
          #_arch_specific_runtime_and_build_time_dependencies
    but in this package nearly all dependencies are *soft*, so rather than
    disabling affected architectures, we instead need to patch out the
    offending dependencies and work around their absence. The result is
    different builds for different architectures, i.e., an arched package.
    This *does* preclude making all of the binary subpackages noarch, since
    building on different architectures produces a different result.

    (Even the upcoming -doc subpackage can be different on different
    architectures, since there are issues converting certain notebooks to HTML
    on certain architectures.)

The purpose of this bug is to precisely document test failures on big-endian
architectures (that is, s390x), and to discuss what to do about them.

Version-Release number of selected component (if applicable): 3.9.20 (release: work in progress in a fork)


How reproducible:

Edit the spec file to ensure all tests are executed and the package is built on all architectures. Skip CacheTest::test_hash, which is likely to fail on architectures other than x86_64 due only to unexpected performance characteristics. Work around any other obvious issues. Do a scratch build.

(Sorry, that’s not very useful. But I can point to a particular commit in a
dist-git fork if reproduction is desired.)

Actual results:

=========================== short test summary info ============================
FAILED tests/test_obj.py::OBJTest::test_vertex_color - AssertionError: assert...
FAILED tests/test_ply.py::PlyTest::test_face_attributes - AssertionError: 
FAILED tests/test_ply.py::PlyTest::test_vertex_attributes - AssertionError: 
==== 3 failed, 439 passed, 2 deselected, 7872 warnings in 155.75s (0:02:35) ====

Detailed logs to be attached.

Expected results:

All tests pass.

Additional info:

I see two ways to proceed:

  1. Skip all of these tests on s390x, understanding that some parts of the
     API really will be broken on this architecture despite the package not
     containing compiled extensions.

  2. Exclude s390x. (Block
     https://bugzilla.redhat.com/show_bug.cgi?id=F-ExcludeArch-s390x from this
     bug, and link this bug from the spec file.) This keeps users on that
     architecture from being surprised by brokenness, but also keeps them
     from successfully using the APIs that are not broken.

Fixing all the bugs would be great, but is probably not a realistic
short-term goal.

These could be reported upstream in a follow-up to
https://github.com/mikedh/trimesh/issues/249.

See also https://bugzilla.redhat.com/show_bug.cgi?id=2006452, the corresponding
bug for 32-bit issues.

Comment 1 Ben Beasley 2021-09-21 18:41:06 UTC
Created attachment 1825058 [details]
Excerpt from build.log with test failure details

Comment 2 Ben Beasley 2021-09-21 19:08:55 UTC
Reported upstream at https://github.com/mikedh/trimesh/issues/1351.

Comment 3 Ben Cotton 2022-02-08 21:39:40 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 4 Ben Cotton 2023-04-25 16:44:52 UTC
This message is a reminder that Fedora Linux 36 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 36 on 2023-05-16.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '36'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 36 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 5 Fedora Release Engineering 2023-08-16 07:04:54 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.

Comment 6 Aoife Moloney 2024-11-08 10:41:58 UTC
This message is a reminder that Fedora Linux 39 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 39 on 2024-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '39'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 39 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 7 Aoife Moloney 2024-11-27 21:00:40 UTC
Fedora Linux 39 entered end-of-life (EOL) status on 2024-11-26.

Fedora Linux 39 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.