[Bug 2147544] Re: Some Apport test_ui_gtk tests like test_hang_layout crash

Benjamin Drung 2147544 at bugs.launchpad.net
Wed Apr 15 10:55:31 UTC 2026


yaru-theme 26.04.5.1ubuntu fixes the crash on my machine when setting
GDK_BACKEND=x11.

But the CI still crashes:
https://github.com/canonical/apport/actions/runs/24400440714/job/71421620909?pr=572

I tried to reproduce this failure, but the test succeeds:

```
$ podman run -it --rm -v $PDW:/z docker.io/library/ubuntu:devel
$ apt-get update && apt-get install --no-install-recommends --yes ca-certificates chaos-marmosets dbus dbus-x11 dirmngr dpkg-dev gcc gdb gir1.2-gtk-3.0 gir1.2-wnck-3.0 git gnome-icon-theme gvfs-daemons psmisc python3 python3-apt python3-dbus python3-distro-info python3-gi python3-launchpadlib python3-psutil pyqt6-dev-tools python3-pyqt6 python3-pytest python3-pytest-cov ubuntu-dbgsym-keyring ubuntu-keyring valgrind xterm xvfb
$ cd /z
$ xvfb-run python3 -m pytest -v -ra --cov=$(pwd) --cov-report=xml --durations=0 tests/system/test_ui_gtk.py
```

yaru is not installed in this environment. gnome-icon-theme, adwaita-
icon-theme, hicolor-icon-theme is installed there.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/2147544

Title:
  Some Apport test_ui_gtk tests like test_hang_layout crash

Status in apport package in Ubuntu:
  New
Status in gdk-pixbuf package in Ubuntu:
  Invalid
Status in gtk+3.0 package in Ubuntu:
  New
Status in yaru-theme package in Ubuntu:
  Fix Released

Bug description:
  I tried running the Apport tests on resolute (see
  https://github.com/canonical/apport/pull/572), but the system tests
  fail:

  ```
  Current thread 0x00007f5ac7f381c0 [python3] (most recent call first):
    File "/__w/apport/apport/gtk/apport-gtk", line 334 in ui_present_report_details
    File "/__w/apport/apport/tests/system/test_ui_gtk.py", line 633 in test_administrator_disabled_reporting
    File "/usr/lib/python3.14/unittest/case.py", line 615 in _callTestMethod
    File "/usr/lib/python3.14/unittest/case.py", line 669 in run
    File "/usr/lib/python3.14/unittest/case.py", line 725 in __call__
    File "/usr/lib/python3/dist-packages/_pytest/unittest.py", line 389 in runtest
    File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 179 in pytest_runtest_call
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
    File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
    File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
    File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245 in <lambda>
    File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 353 in from_call
    File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 244 in call_and_report
    File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 137 in runtestprotocol
    File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 118 in pytest_runtest_protocol
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
    File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
    File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
    File "/usr/lib/python3/dist-packages/_pytest/main.py", line 396 in pytest_runtestloop
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
    File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
    File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
    File "/usr/lib/python3/dist-packages/_pytest/main.py", line 372 in _main
    File "/usr/lib/python3/dist-packages/_pytest/main.py", line 318 in wrap_session
    File "/usr/lib/python3/dist-packages/_pytest/main.py", line 365 in pytest_cmdline_main
    File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121 in _multicall
    File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120 in _hookexec
    File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512 in __call__
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 199 in main
    File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 223 in console_main
    File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9 in <module>
    File "<frozen runpy>", line 88 in _run_code
    File "<frozen runpy>", line 198 in _run_module_as_main

  Current thread's C stack trace (most recent call first):
    Binary file "python3", at _Py_DumpStack+0x4a [0x476f29]
    Binary file "python3" [0x504287]
    Binary file "/usr/lib/x86_64-linux-gnu/libc.so.6", at +0x45cb0 [0x7f5ac7f7ecb0]
    Binary file "/usr/lib/x86_64-linux-gnu/libc.so.6", at pthread_kill+0x11c [0x7f5ac7fdf48c]
    Binary file "/usr/lib/x86_64-linux-gnu/libc.so.6", at gsignal+0x1e [0x7f5ac7f7eb7e]
    Binary file "/usr/lib/x86_64-linux-gnu/libc.so.6", at abort+0x27 [0x7f5ac7f618ec]
    Binary file "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0", at +0x2112e [0x7f5ac46f012e]
    Binary file "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0", at g_log_writer_default+0x174 [0x7f5ac473e4b4]
    Binary file "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0", at g_log_structured_array+0x84 [0x7f5ac47356e4]
    Binary file "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0", at g_log_structured_standard+0x208 [0x7f5ac4735d28]
    Binary file "/usr/lib/x86_64-linux-gnu/libgtk-3.so.0", at +0x1da958 [0x7f5ab73fa958]
    Binary file "/usr/lib/x86_64-linux-gnu/libgtk-3.so.0", at gtk_icon_info_load_icon+0x3b [0x7f5ab73fc74b]
    Binary file "/usr/lib/x86_64-linux-gnu/libgtk-3.so.0", at gtk_icon_theme_load_icon_for_scale+0xaf [0x7f5ab73f907f]
    Binary file "/usr/lib/x86_64-linux-gnu/libffi.so.8", at +0xa056 [0x7f5ac463a056]
    Binary file "/usr/lib/x86_64-linux-gnu/libffi.so.8", at +0x5d16 [0x7f5ac4635d16]
    Binary file "/usr/lib/x86_64-linux-gnu/libffi.so.8", at ffi_call+0x12e [0x7f5ac46387ae]
    Binary file "/usr/lib/python3/dist-packages/gi/_gi.cpython-314-x86_64-linux-gnu.so", at +0x324d0 [0x7f5ac48594d0]
    Binary file "/usr/lib/python3/dist-packages/gi/_gi.cpython-314-x86_64-linux-gnu.so", at +0x2868b [0x7f5ac484f68b]
    Binary file "python3", at PyObject_Vectorcall+0x33 [0x5357c3]
    Binary file "python3", at _PyEval_EvalFrameDefault+0x376f [0x5505df]
    Binary file "python3" [0x58c9c4]
    Binary file "python3" [0x5ed80b]
    Binary file "python3" [0x5a55ca]
    Binary file "python3", at _PyEval_EvalFrameDefault+0x485e [0x5516ce]
    Binary file "python3" [0x58c9c4]
    Binary file "python3" [0x536acd]
    Binary file "python3" [0x63707a]
    Binary file "python3", at _PyObject_MakeTpCall+0x35c [0x52f67c]
    Binary file "python3", at _PyEval_EvalFrameDefault+0x6578 [0x5533e8]
    Binary file "python3" [0x58c9c4]
    Binary file "python3" [0x536acd]
    Binary file "python3" [0x63707a]
    <truncated rest of calls>
  ```

  This can be reproduce on resolute by running:

  ```
  $ python3 -m unittest -v tests.system.test_ui_gtk.T.test_administrator_disabled_reporting
  test_administrator_disabled_reporting (tests.system.test_ui_gtk.T.test_administrator_disabled_reporting) ... 
  (python3 -m unittest:3072044): Gdk-CRITICAL **: 16:07:39.340: gdk_wayland_window_set_dbus_properties_libgtk_only: assertion 'GDK_IS_WAYLAND_WINDOW (window)' failed
  Aborted                    (core dumped) python3 -m unittest -v tests.system.test_ui_gtk.T.test_administrator_disabled_reporting
  ```

  Running the test with GDK_BACKEND=x11 let it succeed, but some of the
  test still fail:

  ```
  $ GDK_BACKEND=x11 gdb --args python3 -m unittest -v tests.system.test_ui_gtk.T.test_hang_layout
  (gdb) run
  (gdb) bt
  #0  _g_log_abort (breakpoint=breakpoint at entry=1) at ../../../glib/gmessages.c:452
  #1  0x00007ffff56084b4 in g_log_writer_default (log_level=18, fields=0x7fffffff9a30, n_fields=7, user_data=0x0) at ../../../glib/gmessages.c:3076
  #2  0x00007ffff55ff6e4 in g_log_structured_array (log_level=G_LOG_LEVEL_WARNING, fields=0x7fffffff9a30, n_fields=7) at ../../../glib/gmessages.c:1903
  #3  g_log_structured_array (log_level=G_LOG_LEVEL_WARNING, fields=0x7fffffff9a30, n_fields=7) at ../../../glib/gmessages.c:1876
  #4  0x00007ffff55ffd28 in g_log_structured_standard
      (log_domain=log_domain at entry=0x7ffff3a3f014 "Gtk", log_level=log_level at entry=G_LOG_LEVEL_WARNING, file=file at entry=0x7ffff3a4ede0 "../../../gtk/gtkicontheme.c", line=line at entry=0x7ffff3a4f262 "3992", func=func at entry=0x7ffff3aa97a0 <__func__.13> "icon_info_ensure_scale_and_pixbuf", message_format=message_format at entry=0x7ffff3a71598 "Could not load a pixbuf from %s.\nThis may indicate that pixbuf loaders or the mime database could not be found.")
      at ../../../glib/gmessages.c:1975
  #5  0x00007ffff37da958 in icon_info_ensure_scale_and_pixbuf (icon_info=icon_info at entry=0x7fffc8008e10) at ../../../gtk/gtkicontheme.c:3992
  #6  0x00007ffff37dd614 in gtk_icon_info_load_symbolic_png (icon_info=0x7fffc8008e10, fg=0x7fffffffa1e0, success_color=0x7fffffffa200, warning_color=0x7fffffffa220, error_color=0x7fffffffa240, error=0x7fffffffa1d8)
      at ../../../gtk/gtkicontheme.c:4456
  #7  gtk_icon_info_load_symbolic_internal (icon_info=0x7fffc8008e10, fg=0x7fffffffa1e0, success_color=0x7fffffffa200, warning_color=0x7fffffffa220, error_color=0x7fffffffa240, use_cache=1, error=0x7fffffffa1d8)
      at ../../../gtk/gtkicontheme.c:4676
  #8  0x00007ffff3740f15 in gtk_css_image_recolor_load (recolor=0x1422860, style=0x15d7d80, palette=0x1758490, scale=1, gerror=0x7fffffffa1d0) at ../../../gtk/gtkcssimagerecolor.c:127
  #9  gtk_css_image_recolor_compute (image=0x1422860, property_id=60, provider=0x13614e0, style=0x15d7d80, parent_style=<optimized out>) at ../../../gtk/gtkcssimagerecolor.c:178
  #10 0x00007ffff3733015 in gtk_css_image_fallback_compute (image=0x13e0cf0, property_id=<optimized out>, provider=<optimized out>, style=<optimized out>, parent_style=<optimized out>) at ../../../gtk/gtkcssimagefallback.c:149
  #11 gtk_css_image_fallback_compute (image=0x13e0cf0, property_id=60, provider=0x13614e0, style=0x15d7d80, parent_style=0x15d6640) at ../../../gtk/gtkcssimagefallback.c:132
  #12 0x00007ffff373db11 in gtk_css_value_image_compute (value=0x13e0430, property_id=<optimized out>, provider=<optimized out>, style=<optimized out>, parent_style=<optimized out>) at ../../../gtk/gtkcssimagevalue.c:50
  #13 0x00007ffff375eef1 in gtk_css_static_style_compute_value (style=0x15d7d80, provider=<optimized out>, parent_style=<optimized out>, id=60, specified=0x13e0430, section=<optimized out>) at ../../../gtk/gtkcssstaticstyle.c:237
  #14 _gtk_css_lookup_resolve (lookup=0x1764760, provider=0x13614e0, style=0x15d7d80, parent_style=0x15d6640) at ../../../gtk/gtkcsslookup.c:122
  #15 gtk_css_static_style_new_compute (provider=<optimized out>, matcher=<optimized out>, parent=<optimized out>) at ../../../gtk/gtkcssstaticstyle.c:195
  #16 0x00007ffff3741d60 in gtk_css_node_create_style (cssnode=0x15d75a0) at ../../../gtk/gtkcssnode.c:375
  #17 gtk_css_node_real_update_style (cssnode=0x15d75a0, change=68719476730, timestamp=0, style=0x13a9d50) at ../../../gtk/gtkcssnode.c:425
  #18 0x00007ffff3745732 in gtk_css_node_ensure_style (cssnode=cssnode at entry=0x15d75a0, current_time=current_time at entry=0) at ../../../gtk/gtkcssnode.c:1007
  #19 0x00007ffff3745a82 in gtk_css_node_validate_internal (cssnode=cssnode at entry=0x15d75a0, timestamp=timestamp at entry=0) at ../../../gtk/gtkcssnode.c:1384
  #20 0x00007ffff3745adb in gtk_css_node_validate_internal (cssnode=0x15d75a0, timestamp=<optimized out>) at ../../../gtk/gtkcssnode.c:1400
  #21 gtk_css_node_validate_internal (cssnode=cssnode at entry=0x15d6b50, timestamp=timestamp at entry=0) at ../../../gtk/gtkcssnode.c:1398
  #22 0x00007ffff3745adb in gtk_css_node_validate_internal (cssnode=0x15d6b50, timestamp=<optimized out>) at ../../../gtk/gtkcssnode.c:1400
  #23 gtk_css_node_validate_internal (cssnode=cssnode at entry=0x15dd3c0, timestamp=timestamp at entry=0) at ../../../gtk/gtkcssnode.c:1398
  #24 0x00007ffff3745adb in gtk_css_node_validate_internal (cssnode=0x15dd3c0, timestamp=<optimized out>) at ../../../gtk/gtkcssnode.c:1400
  #25 gtk_css_node_validate_internal (cssnode=cssnode at entry=0x15b3510, timestamp=timestamp at entry=0) at ../../../gtk/gtkcssnode.c:1398
  #26 0x00007ffff3745adb in gtk_css_node_validate_internal (cssnode=0x15b3510, timestamp=<optimized out>) at ../../../gtk/gtkcssnode.c:1400
  #27 gtk_css_node_validate_internal (cssnode=cssnode at entry=0x14d92a0, timestamp=timestamp at entry=0) at ../../../gtk/gtkcssnode.c:1398
  #28 0x00007ffff3745adb in gtk_css_node_validate_internal (cssnode=0x14d92a0, timestamp=<optimized out>) at ../../../gtk/gtkcssnode.c:1400
  #29 gtk_css_node_validate_internal (cssnode=cssnode at entry=0x13e75b0, timestamp=timestamp at entry=0) at ../../../gtk/gtkcssnode.c:1398
  #30 0x00007ffff3745adb in gtk_css_node_validate_internal (cssnode=0x13e75b0, timestamp=<optimized out>) at ../../../gtk/gtkcssnode.c:1400
  #31 gtk_css_node_validate_internal (cssnode=<optimized out>, timestamp=0) at ../../../gtk/gtkcssnode.c:1398
  #32 0x00007ffff399b305 in gtk_window_show (widget=0x1384ba0) at ../../../gtk/gtkwindow.c:6345
  #37 0x00007ffff5541e83 in <emit signal 'show' on instance ???> (instance=instance at entry=0x1384ba0, signal_id=<optimized out>, detail=detail at entry=0) at ../../../gobject/gsignal.c:3624
      #33 0x00007ffff552168c in g_closure_invoke (closure=0x1240850, return_value=0x0, n_param_values=1, param_values=0x7fffffffa8a0, invocation_hint=0x7fffffffa7f0) at ../../../gobject/gclosure.c:916
      #34 0x00007ffff553fd01 in signal_emit_unlocked_R
      (node=node at entry=0x7fffffffa9b0, detail=detail at entry=0, instance=instance at entry=0x1384ba0, emission_return=emission_return at entry=0x0, instance_and_params=instance_and_params at entry=0x7fffffffa8a0)
      at ../../../gobject/gsignal.c:3762
      #35 0x00007ffff5541b66 in signal_emit_valist_unlocked (instance=instance at entry=0x1384ba0, signal_id=signal_id at entry=62, detail=detail at entry=0, var_args=var_args at entry=0x7fffffffab10) at ../../../gobject/gsignal.c:3561
      #36 0x00007ffff5541dc8 in g_signal_emit_valist (instance=0x1384ba0, signal_id=62, detail=0, var_args=var_args at entry=0x7fffffffab10) at ../../../gobject/gsignal.c:3304
  #38 0x00007ffff39784ee in gtk_widget_show (widget=0x1384ba0) at ../../../gtk/gtkwidget.c:4859
  #39 gtk_widget_show (widget=0x1384ba0) at ../../../gtk/gtkwidget.c:4832
  #40 0x00007ffff6a26056 in ??? () at /usr/lib/x86_64-linux-gnu/libffi.so.8
  #41 0x00007ffff6a21d16 in ??? () at /usr/lib/x86_64-linux-gnu/libffi.so.8
  #42 0x00007ffff6a247ae in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.8
  #43 0x00007ffff6db74d0 in ??? () at /usr/lib/python3/dist-packages/gi/_gi.cpython-314-x86_64-linux-gnu.so
  #44 0x00007ffff6dad68b in ??? () at /usr/lib/python3/dist-packages/gi/_gi.cpython-314-x86_64-linux-gnu.so
  #45 0x00000000005357c3 in _PyObject_VectorcallTstate (tstate=0xb217a0 <_PyRuntime+315648>, callable=0x7ffff492b8a0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Include/internal/pycore_call.h:177
  [...]
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apport/+bug/2147544/+subscriptions





More information about the foundations-bugs mailing list