Bug 1623537

Summary: glibc: Test suite failure: math/test-ildouble-fma, math/test-ldouble-fma on ppc64le
Product: Red Hat Enterprise Linux 8 Reporter: Florian Weimer <fweimer>
Component: glibcAssignee: Florian Weimer <fweimer>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: medium Docs Contact:
Priority: high    
Version: 8.0CC: ashankar, codonell, dj, fweimer, mcermak, mnewsome, pfrankli, skolosov, tulioqm
Target Milestone: betaKeywords: Patch
Target Release: 8.1   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: glibc-2.28-44.el8 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: 1623533 Environment:
Last Closed: 2019-11-05 21:28:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1623533, 1682593    
Bug Blocks: 1684553    

Description Florian Weimer 2018-08-29 14:53:12 UTC
+++ This bug was initially created as a clone of Bug #1623533 +++

The full test outputs are:

=====FAIL: math/test-ildouble-fma.out=====
testing long double (inline functions)
Failure: Test: fma_downward (inf, inf, -max_value)
Result:
 is:         qNaN
 should be:   inf   inf
Failure: Test: fma_downward (-inf, -inf, -max_value)
Result:
 is:         qNaN
 should be:   inf   inf
Failure: Test: fma_upward (inf, -inf, max_value)
Result:
 is:         qNaN
 should be:  -inf  -inf
Failure: Test: fma_upward (-inf, inf, max_value)
Result:
 is:         qNaN
 should be:  -inf  -inf
Test suite completed:
  1458 test cases plus 0 tests for exception flags and
    0 tests for errno executed.
  4 errors occurred.

=====FAIL: math/test-ldouble-fma.out=====
testing long double (without inline functions)
Failure: fma_downward (inf, inf, -max_value): Exception "Invalid operation" set
Failure: fma_downward (inf, inf, -max_value): Exception "Overflow" set
Failure: Test: fma_downward (inf, inf, -max_value)
Result:
 is:         qNaN
 should be:   inf   inf
Failure: fma_downward (inf, -inf, -max_value): Exception "Overflow" set
Failure: fma_downward (-inf, inf, -max_value): Exception "Overflow" set
Failure: fma_downward (-inf, -inf, -max_value): Exception "Invalid operation" set
Failure: fma_downward (-inf, -inf, -max_value): Exception "Overflow" set
Failure: Test: fma_downward (-inf, -inf, -max_value)
Result:
 is:         qNaN
 should be:   inf   inf
Failure: fma_upward (inf, inf, max_value): Exception "Overflow" set
Failure: fma_upward (inf, -inf, max_value): Exception "Invalid operation" set
Failure: fma_upward (inf, -inf, max_value): Exception "Overflow" set
Failure: Test: fma_upward (inf, -inf, max_value)
Result:
 is:         qNaN
 should be:  -inf  -inf
Failure: fma_upward (-inf, inf, max_value): Exception "Invalid operation" set
Failure: fma_upward (-inf, inf, max_value): Exception "Overflow" set
Failure: Test: fma_upward (-inf, inf, max_value)
Result:
 is:         qNaN
 should be:  -inf  -inf
Failure: fma_upward (-inf, -inf, max_value): Exception "Overflow" set
Test suite completed:
  1458 test cases plus 1454 tests for exception flags and
    1454 tests for errno executed.
  16 errors occurred.

Also seen on rawhide.

Comment 1 Florian Weimer 2018-09-21 17:31:23 UTC
Latest upstream update is here:

https://sourceware.org/ml/libc-alpha/2018-09/msg00409.html

There is still no patch.

Comment 2 Florian Weimer 2019-01-16 14:57:33 UTC
Upstream has XFAILed these tests in this commit:

commit ecdacd34a2ac3b6d5a529ff218b29261d9d98a7a
Author: Tulio Magno Quites Machado Filho <tuliom.com>
Date:   Mon Jan 14 17:54:44 2019 -0200

    Add XFAIL_ROUNDING_IBM128_LIBGCC to more fma() tests
    
    Ignore 112 errors in math/test-ldouble-fma and math/test-ildouble-fma
    when IBM 128-bit long double used.
    These errors are caused by spurious overflows from libgcc.
    
            * math/libm-test-fma.inc (fma_test_data): Set
            XFAIL_ROUNDING_IBM128_LIBGCC to more tests.

Comment 3 Tulio Magno Quites Machado Filho 2019-01-16 18:04:38 UTC
A reduced version of the 2.29 patch was backported to glibc 2.28 as commit:

commit b297581acb66f80b513996c1580158b0fb12d469
Author: Tulio Magno Quites Machado Filho <tuliom.com>
Date:   Mon Jan 14 17:54:44 2019 -0200

    Add XFAIL_ROUNDING_IBM128_LIBGCC to more fma() tests
    
    Ignore 16 errors in math/test-ldouble-fma and 4 errors in
    math/test-ildouble-fma when IBM 128-bit long double used.
    These errors are caused by spurious overflows from libgcc.
    
            * math/libm-test-fma.inc (fma_test_data): Set
            XFAIL_ROUNDING_IBM128_LIBGCC to more tests.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <tuliom.com>
    (cherry picked from commit ecdacd34a2ac3b6d5a529ff218b29261d9d98a7a)

Comment 6 Sergey Kolosov 2019-04-30 12:39:47 UTC
Verified,

math/test-ildouble-fma, math/test-ldouble-fma tests pass in glibc-2.28-44.el8

Comment 8 errata-xmlrpc 2019-11-05 21:28:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:3513