Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 628252 - media-video/mpv-0.25.0-r2: test failure in test_scale_ambient_lux_{limits,clamping,sign}
Summary: media-video/mpv-0.25.0-r2: test failure in test_scale_ambient_lux_{limits,cla...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Coacher
URL: https://github.com/mpv-player/mpv/iss...
Whiteboard:
Keywords: TESTFAILURE, UPSTREAM
Depends on:
Blocks:
 
Reported: 2017-08-19 00:44 UTC by Thomas Deutschmann (RETIRED)
Modified: 2018-02-05 22:21 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,244.78 KB, text/plain)
2017-08-19 00:44 UTC, Thomas Deutschmann (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2017-08-19 00:44:21 UTC
Created attachment 489570 [details]
build.log

[...]
[ RUN      ] test_scale_ambient_lux_limits
fabs(x - 2.40f) <= DBL_EPSILON
../test/gl_video.c:7: error: Failure!

[  FAILED  ] test_scale_ambient_lux_limits
[ RUN      ] test_scale_ambient_lux_sign
fabs(x - 2.40f) <= DBL_EPSILON
../test/gl_video.c:16: error: Failure!

[  FAILED  ] test_scale_ambient_lux_sign
[ RUN      ] test_scale_ambient_lux_clamping
fabs(x - 2.40f) <= DBL_EPSILON
../test/gl_video.c:22: error: Failure!

[  FAILED  ] test_scale_ambient_lux_clamping



Portage 2.3.6 (python 3.4.5-final-0, default/linux/x86/13.0, gcc-5.4.0, glibc-2.23-r4, 4.12.5-gentoo i686)
=================================================================
System uname: Linux-4.12.5-gentoo-i686-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.3
KiB Mem:     3108120 total,   1192896 free
KiB Swap:     488276 total,    488276 free
Timestamp of repository gentoo: Fri, 18 Aug 2017 18:43:58 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.13.4::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.26.1::gentoo, 2.28-r2::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

ABI="x86"
ABI_X86="32"
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ARCH="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt"
CHOST="i686-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/* *.py[co] *$py.class */dropin.cache"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
CXXFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt"
DEFAULT_ABI="x86"
EDITOR="/usr/bin/mcedit"
ELIBC="glibc"
EPREFIX=""
EROOT="/"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GCC_SPECS=""
GRUB_PLATFORMS="efi-32 pc"
GSETTINGS_BACKEND="dconf"
HOME="/root"
INFOPATH="/usr/share/info:/usr/share/gcc-data/i686-pc-linux-gnu/5.4.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.26.1/info"
INPUT_DEVICES="libinput keyboard mouse"
IUSE_IMPLICIT="abi_x86_32 prefix prefix-chain prefix-guest"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
L10N="en en-US de de-DE"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_MESSAGES="C"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LIBDIR_x86="lib"
LINGUAS="en de"
LOGNAME="root"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 5 --load-average 7.95"
MOZ_GMP_PATH="/usr/lib/nsbrowser/plugins/gmp-gmpopenh264/system-installed"
MULTILIB_ABIS="x86"
MULTIOSDIRS="../lib"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/5.4.0"
PHP_TARGETS="php5-6"
POSTGRES_TARGETS="postgres9_5"
PWD="/root"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_4"
PYTHON_TARGETS="python2_7 python3_4"
ROOT="/"
ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/5.4.0"
RUBY_TARGETS="ruby21 ruby22"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
TERM="screen"
TMUX="/tmp/tmux-0/default,4585,0"
TMUX_PANE="%1"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="intel"
Comment 1 Coacher 2017-08-19 20:34:13 UTC
Could you please and try to reproduce it on amd64?
Comment 2 Coacher 2017-08-24 05:57:28 UTC
Whissi, ping.
Comment 3 Coacher 2017-09-05 13:53:29 UTC
No reply from reporter for weeks here or on IRC.
Can't reproduce.
Comment 4 Thomas Deutschmann (RETIRED) gentoo-dev 2017-09-23 16:27:38 UTC
(In reply to Coacher from comment #1)
> Could you please and try to reproduce it on amd64?

Unable to reproduce on ~amd64, still reproducible on x86.

It passes on x86 when I set "-mfpmath=sse" CFLAG. But "mfpmath=387" is default on x86.
Comment 5 Coacher 2017-11-13 20:41:57 UTC
Though I am able to reproduce this, I am unable to fix it properly in the code.
I believe it's related or similar to the problem discussed in bug 631852: floating point precision on x86.

mpv test suite is written in C and has the following assert to check for equality:
#define assert_double_equal(a, b) assert_true(fabs(a - b) <= DBL_EPSILON)

Later as 'a' and 'b' float values are passed. AFAIU implicit conversion to float happens when evaluating fabs. I've tried to manually convert the values to double, but it didn't help. Assert itself looks fine to me, but I obviously lack some knowledge as the problem is still present with it.

Piece of advise anyone, please?
Comment 6 Coacher 2018-02-01 11:26:47 UTC
https://github.com/mpv-player/mpv/pull/5471
Comment 7 Larry the Git Cow gentoo-dev 2018-02-05 22:21:33 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcdc0b042764a52730954c29fda8d3aa36674c24

commit bcdc0b042764a52730954c29fda8d3aa36674c24
Author:     Ilya Tumaykin <itumaykin@gmail.com>
AuthorDate: 2018-02-05 22:19:31 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2018-02-05 22:21:25 +0000

    media-video/mpv: fix float comparisons in tests
    
    Closes: https://bugs.gentoo.org/628252
    Closes: https://github.com/gentoo/gentoo/pull/7052
    Package-Manager: Portage-2.3.24, Repoman-2.3.6
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 ...mpv-0.25.0-fix-float-comparisons-in-tests.patch | 61 ++++++++++++++++++++++
 media-video/mpv/mpv-0.25.0-r2.ebuild               |  3 +-
 media-video/mpv/mpv-0.26.0.ebuild                  |  3 +-
 media-video/mpv/mpv-0.27.0-r1.ebuild               |  3 +-
 media-video/mpv/mpv-0.28.0.ebuild                  |  1 +
 5 files changed, 68 insertions(+), 3 deletions(-)