Re: Bug#1077757: gtk4: memorytexture test fails on s390x

Simon McVittie <[email protected]>
Newsgroups gmane.linux.debian.ports.s390
Message-ID <[email protected]>
Control: retitle -1 gtk4: memorytexture test fails on s390x
Control: severity -1 important

I mitigated this in 4.14.4+ds-8 by skipping the memorytexture test during
autopkgtest as well as during build-time testing, so I'm downgrading this
to important.

On Thu, 01 Aug 2024 at 10:15:11 -0400, Jeremy Bícha wrote:
> There were several upstream fixes to the memorytexture test in June
> and July that aren't in our gtk 4.14.4
> 
> https://gitlab.gnome.org/GNOME/gtk/-/commits/main/testsuite/gdk/memorytexture.c

If you're going to update to 4.15.x in experimental soon *anyway*, then
that could be a good opportunity to find out whether the memorytexture
test might have been fixed on s390x (again). Sorry, but I have already put
more time than I can justify into repeatedly building GTK on porterboxes
in the last couple of weeks, so I am probably not going to chase this
any time soon.

I believe the situation is that it failed in 4.12.x, was fixed in 4.12.x,
was fixed differently in 4.13.x, and then regressed in 4.14.x? Or
something like that?

I'm 95% sure this is because s390x is big-endian and nobody except
us is routinely testing (or even building) GTK on big-endian systems.
Probably one of the mappings between different libraries' colour channel
layouts (GTK, Cairo, OpenGL, Vulkan, ...) is mixing up "first byte is red"
with "least significant 8 bits are red", or similar.

There have been endianness issues in the past that turned out to be a
regression in lower-level libraries like libpixman, so we can't necessarily
be sure that this is really a GTK bug.

> We do have a patch,
> debian/tests-Mark-memorytexture-as-expected-to-fail-on-big-endian.patch
> I'm unsure about the significance: did this test actually pass on
> s390x in 4.12 and then began failing again in 4.14?

Yes. Sebastien Bacher disabled this test in 4.14.4+ds-3
"mark also memorytexture as expected to fail on big endian", without
any reference to a Debian or upstream bug; let's use this bug to
represent that failure.

> gdk/memorytexture.test passes in installed-tests-wayland but not in
> installed-tests-x11

That's perhaps interesting input for someone who understands the finer
points of OpenGL, but I'm sorry, that's not me.

    smcv
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.