Bug#1093335: gtk4: FTBFS and autopkgtest failure: test regressions with libpng 1.6.45

Simon McVittie smcv at debian.org
Sat Jan 18 11:39:41 GMT 2025


Control: reassign -1 gtk4,libpng1.6
Control: found -1 gtk4/4.16.12+ds-1
Control: found -1 libpng1.6/1.6.45-1
Control: retitle -1 gtk4: FTBFS and autopkgtest failure: test regressions with libpng 1.6.45
Control: forwarded -1 https://gitlab.gnome.org/GNOME/gtk/-/issues/7275

On Fri, 17 Jan 2025 at 18:53:26 +0000, Santiago Vila wrote:
> During a rebuild of all packages in unstable, your package failed to build

This is several test failures, which seem to be triggered by the upgrade of
libpng1.6 from 1.6.44 to 1.6.45. They can also be seen in the "as-installed"
test suite via autopkgtest.

>   3/693 gtk:gdk / colorstate                                                         ERROR            0.03s   killed by signal 6 SIGABRT

In this test (testsuite/gdk/colorstate.c), GDK builds a 4x2 pixel image
with RGBA data in 32 bits per channel floating point, where each pixel
has value either 0% or 100%, in a specified colour space; saves it to a
PNG file; loads it back from the PNG file; and asserts that the colour
state in both versions are the same.

When the initial colour space is srgb, it successfully saves to the PNG
file in srgb and reads back srgb.

The (first) failing test is using srgb-linear. With libpng 1.6.44, this
round-trips through libpng successfully: GDK writes out srgb-linear and
reads back srgb-linear. With 1.6.45, the colour state that is read back
appears to be plain srgb (I'm not clear on what the difference is but
presumably it's significant).

You can run just this test in a gtk4 build tree with:

    meson test -C obj-${DEB_HOST_GNU_TYPE} colorstate

and it doesn't need any special setup (except perhaps an X11 and/or
Wayland display).

>  65/693 gtk:gsk+gsk-nodeparser / parser empty-texture.node                           FAIL             0.03s   exit status 1
>  66/693 gtk:gsk+gsk-nodeparser / parser empty-texture-scale.node                     FAIL             0.03s   exit status 1
>  94/693 gtk:gsk+gsk-nodeparser / parser texture-fail.node                            FAIL             0.03s   exit status 1
>  95/693 gtk:gsk+gsk-nodeparser / parser texture-names.node                           FAIL             0.02s   exit status 1
>  96/693 gtk:gsk+gsk-nodeparser / parser texture-scale-filters.node                   FAIL             0.03s   exit status 1
>  97/693 gtk:gsk+gsk-nodeparser / parser texture-scale-unknown-filter.node            FAIL             0.03s   exit status 1

These are "reftests" which draw the same scene in two different ways,
and assert that the node tree in GSK's scene graph is equivalent. With
libpng 1.6.44, they pass. With libpng

You can run just these tests with commands like:

    meson test -C obj-${DEB_HOST_GNU_TYPE} "parser empty-texture.node"

Please could the libpng maintainers take a look at this? Is this a libpng
regression, or is GTK's test suite expecting behaviour that libpng didn't
intend to provide?

Thanks,
    smcv



More information about the pkg-gnome-maintainers mailing list