GNOME Bugzilla – Bug 702201
actor_offscreen_limit_max_size assertion failed
Last modified: 2013-08-13 16:29:12 UTC
The clutter conform test actor_offscreen_limit_max_size test fails on Wayland/Weston (passes on other backends): $ COGL_RENDERER=wayland CLUTTER_BACKEND=wayland ./test-conformance -k --verbose -p /conform/actor/actor_offscreen_limit_max_size GTest: random seed: R02S4dec7288d5129f31bf15704114a5f94f GTest: run: /conform/actor/actor_offscreen_limit_max_size Checking effect1 size: 0.00 x -19707096313206903775254678601728.00 Checking effect2 size: 0.00 x -19707096313206903775254678601728.00 ** ERROR:actor-offscreen-limit-max-size.c:40:check_results: assertion failed (width == STAGE_WIDTH): (0 == 300) (MSG: ERROR:actor-offscreen-limit-max-size.c:40:check_results: assertion failed (width == STAGE_WIDTH): (0 == 300)) [13:16:45.264] libwayland: disconnect from client 0x1783110 Aborted (core dumped) System: wayland (master) heads/master-0-gbca4124 fontconfig (master) heads/master-0-gcd9b103 drm (master) heads/master-0-ga0178c0 mesa (master) heads/master-0-g6057d7b libxkbcommon (master) xkbcommon-0.3.1-0-g9f01bd1 pixman (master) heads/master-0-g279bdcd cairo (master) heads/master-0-gc51b850 weston (master) heads/master-0-g26ed73c cogl (cogl-1.16) heads/cogl-1.16-0-g534e535 clutter (clutter-1.16) heads/clutter-1.16-0-gfa933b5
Turns out this conformance test was showing the problem that was seen directly in https://bugzilla.gnome.org/show_bug.cgi?id=704457 It's cool to have conformance tests :-) This pushed patch fixes this: commit 1afe757109b808f213d2b021b2b33f7db4187980 Author: Rob Bradford <rob@linux.intel.com> Date: Mon Aug 12 17:29:28 2013 +0100 wayland: When resizing only trigger a redraw if the stage has been shown This is necessary to avoid a deadlock with the compositor. When setting a stage size before the stage was shown this would trigger a redraw inside clutter_stage_wayland_resize. This redraw would result in a call into eglSwapBuffers which would attach a buffer to the surface and commit. Unfortunately this would happen before the role for the surface was set. This would result in the compositor not relaying to the client that the desired frame was shown. With this change the call to wl_shell_surface_set_toplevel is always made before the first redraw. https://bugzilla.gnome.org/show_bug.cgi?id=704457 *** This bug has been marked as a duplicate of bug 704457 ***