Bug#1077192: gtk4: Test regression in 4.14 on s390x: assertion failure in 3 gsk tests
Simon McVittie
smcv at debian.org
Fri Jul 26 16:11:10 BST 2024
Control: retitle -1 gtk4: Test regression in 4.14 on s390x: assertion failure in 3 gsk tests
Control: severity -1 serious
Control: tags -1 + experimental
Control: block 1072395 by -1
As with other test regressions, this is RC for experimental and is blocking
re-upload of 4.14.x to unstable. Its severity can be downgraded if we find
a workaround.
I think the three gsk tests that crash with an assertion failure are the
most serious thing here - they're the part of this that is RC.
On Fri, 26 Jul 2024 at 16:03:30 +0200, Matthias Geiger wrote:
> 99/666 gtk:gsk / path-special-cases ERROR 0.06s killed by signal 6 SIGABRT
> 102/666 gtk:gsk / curve-special-cases ERROR 0.05s killed by signal 6 SIGABRT
> 106/666 gtk:gsk / path-private ERROR 0.06s killed by signal 6 SIGABRT
>
> To it looks like those three tests segfault.
No, they're crashing with an assertion failure (looks like the same
assertion failure in all three cases):
not ok /path/rotated-arc - Gsk:ERROR:../../../gsk/gskpathopprivate.h:67:gsk_pathop_encode: assertion failed: ((GPOINTER_TO_SIZE (pts) & GSK_PATHOP_OPERATION_MASK) == 0)
not ok /curve/special/circle - Gsk:ERROR:../../../gsk/gskpathopprivate.h:67:gsk_pathop_encode: assertion failed: ((GPOINTER_TO_SIZE (pts) & GSK_PATHOP_OPERATION_MASK) == 0)
not ok /path/circle/winding - Gsk:ERROR:../../../gsk/gskpathopprivate.h:67:gsk_pathop_encode: assertion failed: ((GPOINTER_TO_SIZE (pts) & GSK_PATHOP_OPERATION_MASK) == 0)
I can reproduce this by rebuilding gtk4 on the s390x porterbox, zelenka.
This is potentially related to
https://gitlab.gnome.org/GNOME/gtk/-/issues/6395 in which a similar
assertion failure was seen on 32-bit little-endian architectures (it
appears that a maintainer worked around this by skipping those tests
without reporting a downstream bug, so maybe gtk4 is already broken on
32-bit in practice; I don't know).
Upstream's CI only has 64-bit little-endian, so any architecture that is
32-bit or big-endian should be considered to be "at risk".
> Furthermore, some reftests
> fail because the colours diff (see attached images).
This is a bug, but the affected reftests are already skipped on s390x.
See also <https://bugs.debian.org/1058740>.
It is very likely that these colour issues are because s390x is the only
remaining big-endian release architecture in Debian: upstream does not
have any big-endian machines in their CI infrastructure, and as a result
does not test on big-endian architectures. If users of big-endian
architectures want this to be fixed, it's up to the relevant porters to
figure out which layer is wrong (maybe GTK, maybe a dependency) and
correct the interpretation of in-memory data.
> - border-image-excess: the corners are pink instead of green
This is maybe the same issue that's already tracked in #1024391.
> - gradient-hard-stop: the bottom is grey when it should be yellow
> - linear-gradient: adds some colors which shoudl not be present
> - background-blend-mode: the red and yellow half is missing from the
> output
I'm not aware of us having separate bug reports to track these, but maybe
we should. I think they're out of scope for this RC bug, since we already
ignore the results of these reftests on s390x.
smcv
More information about the pkg-gnome-maintainers
mailing list