mutter build test failure on ppc64el

Bug #2073009 reported by Jeremy Bícha
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mutter
Fix Released
Unknown
mutter (Ubuntu)
Fix Released
Low
Daniel van Vugt

Bug Description

I re-enabled build tests on ppc64el with https://launchpad.net/ubuntu/+source/mutter/46.3.1-1ubuntu2 but set to ignore test failures.

The tests were disabled earlier in the noble cycle with the rush to get noble done. They are only failing because of the following test which is not failing in Debian now. (There are 2 other tests that failed in the most recent run but did pass for me in earlier PPA testing.)

I do know that Ubuntu's ppc64el is unusual because it uses -O3 by default which triggers bugs some times.

Build log excerpt
=================
 34/185 mutter:cogl+cogl/conform / cogl-test-offscreen-texture-formats-gles2

ERROR:../src/tests/cogl/conform/test-offscreen-texture-formats.c:102:test_offscreen_texture_formats_store_rgba16161616:
 assertion failed (pixel_data[1] == rgba16_green): (61132 == 61133)
not ok /offscreen/texture-formats/store-rgba16161616 -
 ERROR:../src/tests/cogl/conform/test-offscreen-texture-formats.c:102:test_offscreen_texture_formats_store_rgba16161616:
 assertion failed (pixel_data[1] == rgba16_green): (61132 == 61133)
Bail out!

Tags: noble
Jeremy Bícha (jbicha)
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Looks like the test case is unreasonably fragile. I would expect architecture-specific rounding differences here.

  const uint16_t rgba16_red = 515;
  const uint16_t rgba16_green = 61133;
  const uint16_t rgba16_blue = 2;
  const uint16_t rgba16_alpha = 1111;
  float red;
  float green;
  float blue;
  float alpha;
  int i;

  red = (rgba16_red / (float) ((1 << 16) - 1));
  green = (rgba16_green / (float) ((1 << 16) - 1));
  blue = (rgba16_blue / (float) ((1 << 16) - 1));
  alpha = (rgba16_alpha / (float) ((1 << 16) - 1));

...

  g_assert_cmpint (pixel_data[1], ==, rgba16_green);

The failures should be consistent, but may not be if there have been changes in the compiler, build flags, or host system. That last one caught us out recently with another failure...

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Even the original commit admits it's flaky a few lines later:

      /* this one is off by one, no idea why */
      /* g_assert_cmpint (pixel_data[1], ==, rgb16_to_rgb8 (rgba16_green)); */

Changed in mutter (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Changed in mutter:
status: Unknown → New
Changed in mutter (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Triaged → In Progress
Changed in mutter:
status: New → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in mutter (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mutter - 46.4-1ubuntu1

---------------
mutter (46.4-1ubuntu1) oracular; urgency=medium

  * Merge with Debian. Remaining changes:
    - Add x11-Add-support-for-fractional-scaling-using-Randr.patch
    - Add window-Add-ability-to-override-the-edge-constraints.patch
      + Make possible for extensions (such as Tiling Assistant) to override
        window constraints
    - Add backends-Handle-null-views-instead-of-creating-dummy-view.patch
      to prevent "clutter_frame_clock_notify_presented: code should not be
      reached" log spam in some Nvidia Wayland sessions (LP: #1967707)
  * Remove debian/salsa-ci.yml since it isn't working

mutter (46.4-1) unstable; urgency=medium

  * New upstream release
  * debian/libmutter-14-0.symbols: Update

mutter (46.3.1-7) unstable; urgency=medium

  [ Daniel van Vugt ]
  * Delete patches that aren't needed for LP#2073009

  [ Jeremy Bícha ]
  * Stop ignoring build test failures on Debian ports.
    The test failures make it appear that GNOME Shell/Mutter is broken there.

mutter (46.3.1-6) unstable; urgency=medium

  * Run dh_auto_test everywhere even if results are skipped on some
    architectures

 -- Jeremy Bícha <email address hidden> Sun, 04 Aug 2024 12:40:18 -0400

Changed in mutter (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.