Summary: | media-libs/openjpeg: test failures | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Deutschmann (RETIRED) <whissi> |
Component: | Current packages | Assignee: | Gentoo Graphics Project <graphics+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | erhard_f, leio, robert.gusztav, tka |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
arm64-build.log build.log (2.3.1, ppc64) |
Description
Thomas Deutschmann (RETIRED)
2017-08-20 19:22:57 UTC
I've got a similar behaviour: OpenJPEG fails a lot of tests. By coincidence I tracked it down to CFLAGS or, more precisely, to the usage of fused-multiply-add operation (FMA). In my case the following flags yielded only two failures, both which are known and expected (i.e. ignored by portage and upstream Travis CI): CFLAGS="-pipe -O2 -march=native -ffp-contract=off" The CPUs I tested these on are Intel Broadwell and Intel Haswell, which both have support for FMA. I suggest you, Thomas, run the OpenJPEG tests again with FMA disabled (-ffp-contract=off). If this solves the case then I suggest adding some filter/enhancement procedure to the ebuild to add "-ffp-contract=off" and filter out all other compiler flags which might enable FMA or overrule the user's choice of CFLAGS and set them to a save default. The cause why FMA lets the tests fail is their altered precision behaviour in floating point arithmetic: FMA is essential the computation "FMA(a,b,c) = a*b + c" in one instruction. However, the precision of FMA(a,b,c) is different to the precision of a*b + c with 'ordinary' plus and multiply instructions. Thus, the result of FMA(a,b,c) and a*b + c might not be the same even for the input numbers. Some notes on the compiler flags: The flag -O2 (but not -O1) implies -fexpensive-optimizations which enables FMA IF the -march= parameter is set to an architecture which supports FMA (e.g. ARM, "newer" Intel processors). This in particular means that the following flags do not trigger FMA: -O1 -march=broadwell -O2 -mtune=broadwell -O2 FMA itself can be controlled with -ffp-contract= which takes the values 'off' (no FMA), 'fast' (yes FMA please), 'on' (not implemented and currently equivalent to 'off' (sic!)) [0] There is also the architecture depended flags '-mno-fused-madd' and '-mfused-madd' (disable/enable FMA), which are supported on ARM and x86 but deprecated on x86 (not sure about ARM) [0] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ffp-contract "-ffp-contract=off" doesn't change anything on my x86 test system. Same test failures. Also, please note that on my amd64 system, all tests passes. I found this issue[0]. There a collaborator mentions that the test suite also fails if it uses FP387 unit instead of SSE2 on an Intel 32bit system. I cross-checked your failures with the known failures list[1] on an 32bit system from upstream and they are all present. [0] https://github.com/uclouvain/openjpeg/issues/1017 [1] https://github.com/uclouvain/openjpeg/blob/master/tools/travis-ci/knownfailures-Ubuntu12.04-gcc4.6.3-i386-Release-3rdP.txt (In reply to robert.gusztav from comment #3) > I found this issue[0]. There a collaborator mentions that the test suite > also fails if it uses FP387 unit instead of SSE2 on an Intel 32bit system. > > I cross-checked your failures with the known failures list[1] on an 32bit > system from upstream and they are all present. > > [0] https://github.com/uclouvain/openjpeg/issues/1017 > [1] > https://github.com/uclouvain/openjpeg/blob/master/tools/travis-ci/ > knownfailures-Ubuntu12.04-gcc4.6.3-i386-Release-3rdP.txt I can confirm. Via https://bugs.gentoo.org/628242#c1 I learned about "mfpmath". I am getting the same test results on x86 like on amd64 when using "-mfpmath=sse" (=with mfpmath=sse the additional test failures on x86 are gone). Dupe of bug 628430 Nonsense. I meant bug 595344. fails on arm64 as well: * Messages for package media-libs/openjpeg-2.3.0: * New/unknown test failure found: 'NR-C1P0-p0_04.j2k-compare2base' * New/unknown test failure found: 'NR-C1P0-p0_05.j2k-compare2base' * New/unknown test failure found: 'NR-C1P0-p0_06.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_02.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_03.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_04.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_05.j2k-compare2base' * New/unknown test failure found: 'NR-JP2-file2.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-subsampling_1.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-subsampling_2.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-zoo1.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-zoo2.jp2-compare2base' * New/unknown test failure found: 'NR-DEC-_00042.j2k-2-decode-md5' * New/unknown test failure found: 'NR-DEC-buxI.j2k-9-decode-md5' * New/unknown test failure found: 'NR-DEC-CT_Phillips_JPEG2K_Decompr_Problem.j2k-13-decode-md5' * New/unknown test failure found: 'NR-DEC-Marrin.jp2-18-decode-md5' * New/unknown test failure found: 'NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5' * New/unknown test failure found: 'NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5' * New/unknown test failure found: 'NR-DEC-file409752.jp2-40-decode-md5' * New/unknown test failure found: 'NR-DEC-issue188_beach_64bitsbox.jp2-41-decode-md5' * New/unknown test failure found: 'NR-DEC-issue206_image-000.jp2-42-decode-md5' * New/unknown test failure found: 'NR-DEC-issue205.jp2-43-decode-md5' * New/unknown test failure found: 'NR-DEC-issue228.j2k-60-decode-md5' * New/unknown test failure found: 'NR-DEC-issue142.j2k-66-decode-md5' * New/unknown test failure found: 'NR-DEC-issue134.jp2-67-decode-md5' * New/unknown test failure found: 'NR-DEC-issue135.j2k-68-decode-md5' * New/unknown test failure found: 'NR-DEC-issue208.jp2-69-decode-md5' * New/unknown test failure found: 'NR-DEC-issue211.jp2-70-decode-md5' * Test 'NR-DEC-issue226.j2k-74-decode' is known to fail, ignoring ... * Test 'NR-DEC-issue226.j2k-74-decode-md5' is known to fail, ignoring ... * New/unknown test failure found: 'NR-DEC-p1_04.j2k-124-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-125-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-126-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-127-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-128-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-129-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-131-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-138-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-140-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-166-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-167-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-168-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-172-decode-md5' * New/unknown test failure found: 'NR-DEC-issue205.jp2-253-decode-md5' * New/unknown test failure found: 'NR-DEC-issue236-ESYCC-CDEF.jp2-254-decode-md5' * New/unknown test failure found: 'NR-DEC-issue559-eci-090-CIELab.jp2-255-decode-md5' * New/unknown test failure found: 'NR-DEC-issue559-eci-091-CIELab.jp2-256-decode-md5' * ERROR: media-libs/openjpeg-2.3.0::gentoo failed (test phase): * Test suite failed. New/unknown test failure(s) found! Created attachment 522054 [details]
arm64-build.log
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bfd73a8952c21351d8d061a5ae82bda24d00205 commit 6bfd73a8952c21351d8d061a5ae82bda24d00205 Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2018-12-20 00:59:54 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2018-12-20 01:06:31 +0000 media-libs/openjpeg: check against known architecture specific failures Bug: https://bugs.gentoo.org/628430 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> media-libs/openjpeg/openjpeg-2.3.0-r1.ebuild | 65 ++++++++++++++++++---------- 1 file changed, 42 insertions(+), 23 deletions(-) Created attachment 575342 [details] build.log (2.3.1, ppc64) 2.3.1 (see bug #673806 for 2.3.0-r1) fails lots of tests on ppc/ppc64 too: * New/unknown test failure found: 'NR-C1P0-p0_04.j2k-compare2base' * New/unknown test failure found: 'NR-C1P0-p0_05.j2k-compare2base' * New/unknown test failure found: 'NR-C1P0-p0_06.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_02.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_03.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_04.j2k-compare2base' * New/unknown test failure found: 'NR-C1P1-p1_05.j2k-compare2base' * New/unknown test failure found: 'NR-JP2-file2.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-subsampling_1.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-subsampling_2.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-zoo1.jp2-compare2base' * New/unknown test failure found: 'NR-RIC-zoo2.jp2-compare2base' * New/unknown test failure found: 'NR-DEC-_00042.j2k-2-decode-md5' * New/unknown test failure found: 'NR-DEC-buxI.j2k-9-decode-md5' * New/unknown test failure found: 'NR-DEC-CT_Phillips_JPEG2K_Decompr_Problem.j2k-13-decode-md5' * New/unknown test failure found: 'NR-DEC-Marrin.jp2-18-decode-md5' * New/unknown test failure found: 'NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5' * New/unknown test failure found: 'NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5' * New/unknown test failure found: 'NR-DEC-file409752.jp2-40-decode-md5' * New/unknown test failure found: 'NR-DEC-issue188_beach_64bitsbox.jp2-41-decode-md5' * New/unknown test failure found: 'NR-DEC-issue206_image-000.jp2-42-decode-md5' * New/unknown test failure found: 'NR-DEC-issue205.jp2-43-decode-md5' * New/unknown test failure found: 'NR-DEC-issue228.j2k-60-decode-md5' * New/unknown test failure found: 'NR-DEC-issue142.j2k-66-decode-md5' * New/unknown test failure found: 'NR-DEC-issue134.jp2-67-decode-md5' * New/unknown test failure found: 'NR-DEC-issue135.j2k-68-decode-md5' * New/unknown test failure found: 'NR-DEC-issue208.jp2-69-decode-md5' * New/unknown test failure found: 'NR-DEC-issue211.jp2-70-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-124-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-125-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-126-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-127-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-128-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-129-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-131-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-138-decode-md5' * New/unknown test failure found: 'NR-DEC-p1_04.j2k-140-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-166-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-167-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-168-decode-md5' * New/unknown test failure found: 'NR-DEC-p0_04.j2k-172-decode-md5' * New/unknown test failure found: 'NR-DEC-issue205.jp2-253-decode-md5' * New/unknown test failure found: 'NR-DEC-issue236-ESYCC-CDEF.jp2-254-decode-md5' * New/unknown test failure found: 'NR-DEC-issue559-eci-090-CIELab.jp2-255-decode-md5' * New/unknown test failure found: 'NR-DEC-issue559-eci-091-CIELab.jp2-256-decode-md5' * New/unknown test failure found: 'NR-DEC-db11217111510058.jp2-306-decode-md5' * New/unknown test failure found: 'NR-DEC-tnsot_zero.jp2-307-decode-md5' *** Bug 673806 has been marked as a duplicate of this bug. *** These are caused by tiff-4.0.1+ and are fixed in 2.3.1-r1 (https://gitweb.gentoo.org/repo/gentoo.git/commit/media-libs/openjpeg?id=cc5624c83ee4d27e8beba205f28324ad8765adeb). Please file a new bug if you still run into test failures. |