Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 546782

Summary: =media-libs/libpng-1.6.17 with ABI_X86=32 fails test tests/pngvalid-progressive-interlace-transform -
Product: Gentoo Linux Reporter: eroen <erikdenstore+gbugs>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: UNCONFIRMED ---    
Severity: normal CC: codec, jbowler, kingjon3377, multilib+disabled
Priority: Normal Keywords: TESTFAILURE
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description eroen 2015-04-16 11:58:26 UTC
Created attachment 401346 [details]
build.log

Tests pass for native ABI.

occam ~ # ~eroen/repos/freshstage3/freshstage3.bash all =media-libs/libpng-1.6.17::gentoo
Will create fresh stage3 in /tmp/testroot
Running setup() ...
Current stage3: 20150409/stage3-amd64-20150409.tar.bz2
Tree timestamp: 1429169701 Thu 16 Apr 2015 07:35:01 AM UTC
+ tar xpf ../stage3-amd64-20150409.tar.bz2
+ mkdir usr/portage
+ mount --bind /usr/portage/ usr/portage
++ portageq envvar DISTDIR
+ mount --bind /var/distfiles usr/portage/distfiles
+ mount -t proc none proc
+ mount -t sysfs none sys
+ mount --rbind /dev dev
+ cp /etc/resolv.conf etc/resolv.conf
Enabling FEATURES="-news noclean test" ...
Removing bindist from USE ...
Populating with template/ ...
+ cp /home/eroen/repos/freshstage3/freshstage3.bash ./testscript.bash
Chrooting ...
+ env -i TERM=xterm-256color chroot . /bin/bash /testscript.bash build =media-libs/libpng-1.6.17::gentoo
Running build() ...
+ env-update
PORTAGE_BZIP2_COMMAND setting is invalid: 'bzip2'
PORTAGE_BZIP2_COMMAND setting from make.globals is invalid: 'bzip2'
>>> Regenerating /etc/ld.so.cache...
Sourcing /etc/profile quietly ...
Adding =media-libs/libpng-1.6.17::gentoo to package.accept_keywords ...
+ emerge --verbose --oneshot =media-libs/libpng-1.6.17::gentoo

Performing Global Updates
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  #='/var/db update'  @='/var/db move'
  s='/var/db SLOT move'  %='binary move'  S='binary SLOT move'
  p='update /etc/portage/package.*'
/usr/portage/profiles/updates/2Q-2015......



These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-libs/zlib-1.2.8-r1  USE="minizip* -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB
[ebuild  N    ~] media-libs/libpng-1.6.17:0/16  USE="-apng (-neon) -static-libs" ABI_X86="32 (64) (-x32)" 0 KiB
...
FAIL: tests/pngvalid-progressive-interlace-transform
...
============================================================================
Testsuite summary for libpng 1.6.17
============================================================================
# TOTAL: 40
# PASS:  38
# SKIP:  1
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to png-mng-implement@lists.sourceforge.net
============================================================================
Makefile:1327: recipe for target 'test-suite.log' failed
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-libs/libpng-1.6.17/work/libpng-1.6.17-abi_x86_32.x86'
Makefile:1433: recipe for target 'check-TESTS' failed
make[2]: *** [check-TESTS] Error 2
make[2]: Leaving directory '/var/tmp/portage/media-libs/libpng-1.6.17/work/libpng-1.6.17-abi_x86_32.x86'
Makefile:1914: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-libs/libpng-1.6.17/work/libpng-1.6.17-abi_x86_32.x86'
Makefile:1917: recipe for target 'check' failed
make: *** [check] Error 2
 * ERROR: media-libs/libpng-1.6.17::gentoo failed (test phase):
 *   Make check failed. See above for details.
 * 
 * Call stack:
 *            ebuild.sh, line   93:  Called src_test
 *          environment, line 2770:  Called multilib-minimal_src_test
 *          environment, line 2110:  Called multilib_foreach_abi 'multilib-minimal_abi_src_test'
 *          environment, line 2275:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_test'
 *          environment, line 1976:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_test'
 *          environment, line 1974:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_test'
 *          environment, line  395:  Called multilib-minimal_abi_src_test
 *          environment, line 2106:  Called default_src_test
 *   phase-functions.sh, line  799:  Called __eapi0_src_test
 *     phase-helpers.sh, line  672:  Called die
 * The specific snippet of code:
 *   		$emake_cmd ${internal_opts} check || \
 *   			die "Make check failed. See above for details."
 * 
 * If you need support, post the output of `emerge --info '=media-libs/libpng-1.6.17::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/libpng-1.6.17::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-libs/libpng-1.6.17/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/libpng-1.6.17/temp/environment'.
 * Working directory: '/var/tmp/portage/media-libs/libpng-1.6.17/work/libpng-1.6.17-abi_x86_32.x86'
 * S: '/var/tmp/portage/media-libs/libpng-1.6.17/work/libpng-1.6.17'
Comment 1 eroen 2015-04-16 11:59:11 UTC
occam / # cat /var/tmp/portage/media-libs/libpng-1.6.17/work/libpng-1.6.17-abi_x86_32.x86/test-suite.log 
=====================================
   libpng 1.6.17: ./test-suite.log
=====================================

# TOTAL: 40
# PASS:  38
# SKIP:  1
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: tests/pngvalid-progressive-interlace-transform
====================================================

pngvalid: read: truecolour 16 bit: transform: +rgb_to_gray^0.45455: red/gray output value error: rgba(5612,492,8364,65535): 3648 expected: 3657 (3648.500..3665.111)
pngvalid: 1 errors, 0 warnings
FAIL: pngvalid --transform (floating point arithmetic)
FAIL tests/pngvalid-progressive-interlace-transform (exit status: 1)

SKIP: tests/pngstest-error
==========================

SKIP tests/pngstest-error (exit status: 77)
Comment 2 eroen 2015-04-16 11:59:41 UTC
occam / # emerge --info '=media-libs/libpng-1.6.17::gentoo'
Portage 2.2.14 (python 2.7.9-final-0, default/linux/amd64/13.0, gcc-4.8.4, glibc-2.20-r2, 3.18.2.e0-occam0+ x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.2.e0-occam0+-x86_64-Intel-R-_Core-TM-_i5-2520M_CPU_@_2.50GHz-with-gentoo-2.2
KiB Mem:     7944088 total,    253432 free
KiB Swap:   16777212 total,  16691120 free
Timestamp of tree: Thu, 16 Apr 2015 08:00:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-lang/perl:            5.20.2
dev-lang/python:          2.7.9-r1, 3.3.5-r1
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.11
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.4
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.6
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.18 (virtual/os-headers)
sys-libs/glibc:           2.20-r2
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync noclean parallel-fetch preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
USE="acl amd64 berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 libav mmx mmxext modules multilib ncurses nls nptl openmp pam pcre readline session sse sse2 ssl tcpd unicode zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON

occam / # emerge -pqv '=media-libs/libpng-1.6.17::gentoo'
[ebuild  N    ] media-libs/libpng-1.6.17  USE="-apng (-neon) -static-libs" ABI_X86="32 (64) (-x32)"
Comment 3 John Bowler 2024-02-03 17:12:06 UTC
The actual error is:

>pngvalid: read: truecolour 16 bit: transform: +rgb_to_gray^0.45455: red/gray output value error: rgba(5612,492,8364,65535): 3648 expected: 3657 (3648.500..3665.111)
pngvalid: 1 errors, 0 warnings

I.e. a value in the libpng implementation is outside the range permitted by 'limit' checks in pngvalid (which uses floating point to calculate a more accurate answer):

>3648 expected: 3657 (3648.500..3665.111)

Not a particularly bad error; it's too low by .25% but human vision can at best distinguish 1% differences in luminosity.

Looking at the change log from v1.6.17 to current (v1.6.42) immediately after 1.6.17 was released this commit (github.com:pnggroup/libpng) a21a5b22c10b900d44d40fe30a203302b2a67f8b "fixed" rgb_to_gray checks.  At that point pngvalid limit checking was still being heavily worked on.  I suspect that the error may not show now.

However commit 2225ca0a540c7ac5da1e700c284dec8d64f2108c also increases the allowed range of some checks and disables certain checks in release and RC builds.

So I expect this issue to have "disappeared".

It also seems the media-libs/libpng is no longer executing 'make check'; I'm not sure about this but yesterday I built media-libs/libpng several times with patches that did, in fact, cause 'make check' to fail and they installed fine.

A quick test is to use ebuild to compile on the relevant architecture and run 'make check' by hand.