Summary: | event_test blocks waiting for frame callback | ||
---|---|---|---|
Product: | Wayland | Reporter: | U. Artie Eoff <ullysses.a.eoff> |
Component: | weston | Assignee: | Wayland bug list <wayland-bugs> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | CC: | darxus |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 61296 | ||
Attachments: |
event-test blocked gdb backtrace
weston_log/printf debugging |
FWIW, this is happening when moving the surface back into the output after it was entirely moved outside of the output. http://cgit.freedesktop.org/wayland/weston/commit/?id=5281fb1500b1ac430bde54426f85319e316c82e3 is the commit that changed the behavior. If I revert that commit, event-test no longer hangs. Before commit 5281fb15, the animation was masking this bug. That is, event-test:test_surface_output was dependent on the weston_surface_animation_frame() which called weston_compositor_schedule_repaint(). In turn, that triggered a surface frame callback that allowed event-test:test_surface_output to continue execution. Now that the animation is fixed, event-test:test_surface_output exposes the bug described in comment #1. Created attachment 82248 [details]
weston_log/printf debugging
Hope this helps since some of you cannot reproduce this.
Note: animations need to be disabled in weston.ini and run the test on x11 backend without moving the mouse.
Strange, I don't see this problem when running weston/wayland on stable dependencies: wayland (HEAD) 1.1.91-0-g3f3671e drm (HEAD) libdrm-2.4.45-0-g63aeae1 mesa (9.1) heads/9.1-0-g26f802d libxkbcommon (HEAD) xkbcommon-0.3.0-0-g27a1176 pixman (HEAD) pixman-0.30.0-0-g41daf50 cairo (HEAD) 1.12.14-0-g0dac37c weston (HEAD) 1.1.91-0-g46cb4a9 That is, keeping wayland and weston equal and moving all other pieces to 'master' branches causes this issue to arise. Perhaps some deeper issue is at fault. (In reply to comment #5) > Strange, I don't see this problem when running weston/wayland on stable > dependencies: > Scratch that last comment... that is not the variant. bullseye *** Bug 61296 has been marked as a duplicate of this bug. *** commit ace0a3920e791733211178f83f88bc5c52887042 Author: Kristian Høgsberg <krh@bitplanet.net> Date: Wed Nov 13 21:55:57 2013 -0800 weston-test: Always update transform when moving surface weston_view_update_transform() will post damage in the old and new positions of the view and thus make sure we always repaint properly. In particular, in bug 66133, the test suite moves the surface off any output and weston_surface_schedule_repaint() in commit fails to do anything, since the surface is not on any output. After changing view geometry, we have to either call weston_compositor_schedule_repaint(), which is what shell.c typically does, though that repaints all outputs, or call weston_view_update_transform() to force update the transformation and queue repaints on affected outputs. https://bugs.freedesktop.org/show_bug.cgi?id=66133 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 81359 [details] event-test blocked gdb backtrace Weston's event-test blocks indefinitely in frame_callback_wait() thus preventing "make check" from finishing. See the following gdb backtrace for event-test stack. wayland (master) heads/master-0-g3af748b drm (master) heads/master-0-ga0178c0 mesa (master) heads/master-0-ge5bf19a libxkbcommon (master) heads/master-0-g6f06eb5 pixman (master) heads/master-0-g279bdcd cairo (master) heads/master-0-g4d94391 weston (master) heads/master-0-g6bd6294