Bug 1565045 - wait_for_pending_flips hangs as meta_gpu_kms_wait_for_flip keeps failing with "Page flips not supported"
Summary: wait_for_pending_flips hangs as meta_gpu_kms_wait_for_flip keeps failing with...
Alias: None
Product: Fedora
Classification: Fedora
Component: mutter
Version: 28
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Florian Müllner
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2018-04-09 08:51 UTC by Stephan Bergmann
Modified: 2019-05-28 19:52 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-05-28 19:52:14 UTC
Type: Bug

Attachments (Terms of Use)

Description Stephan Bergmann 2018-04-09 08:51:41 UTC
With mutter-3.28.0-1.fc28.x86_64 Dell XPS 15 9560, at least when connected to the docking station (but to which no additional monitors are connected):  After logging into GNOME/Wayland, the screen freezes and /usr/bin/gnome-shell's main thread is busy waiting at

> #0  0x00007f82f0dd6348 in meta_gpu_kms_wait_for_flip (gpu_kms=<optimized out>, error=error@entry=0x0) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/src/backends/native/meta-gpu-kms.c:297
> #1  0x00007f82f0ddb6bc in wait_for_pending_flips (onscreen=0x55d1e6839600) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/src/backends/native/meta-renderer-native.c:1677
> #2  0x00007f82f0ddb6bc in meta_onscreen_native_swap_buffers_with_damage (onscreen=0x55d1e6839600, rectangles=0x7ffede873350, n_rectangles=0) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/src/backends/native/meta-renderer-native.c:1861
> #3  0x00007f82ef805706 in cogl_onscreen_swap_buffers_with_damage (onscreen=onscreen@entry=0x55d1e6839600, rectangles=rectangles@entry=0x7ffede873350, n_rectangles=n_rectangles@entry=0) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/cogl/cogl/cogl-onscreen.c:319
> #4  0x00007f82f14ecfcf in swap_framebuffer (stage_window=0x55d1e6839600, swap_with_damage=0, swap_region=<synthetic pointer>, view=<optimized out>) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/cogl/clutter-stage-cogl.c:400
> #5  0x00007f82f14ecfcf in clutter_stage_cogl_redraw_view (stage_window=stage_window@entry=0x55d1e2dd9100, view=<optimized out>) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/cogl/clutter-stage-cogl.c:845
> #6  0x00007f82f14edc5b in clutter_stage_cogl_redraw (stage_window=0x55d1e2dd9100) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/cogl/clutter-stage-cogl.c:867
> #7  0x00007f82f155c6a9 in clutter_stage_do_redraw (stage=0x55d1e2dd8c00 [MetaStage]) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/clutter-stage.c:1121
> #8  0x00007f82f155c6a9 in _clutter_stage_do_update (stage=0x55d1e2dd8c00 [MetaStage]) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/clutter-stage.c:1236
> #9  0x00007f82f15478f9 in master_clock_update_stages (master_clock=0x7f82c0007480 [ClutterMasterClockDefault], stages=0x55d1e685d5a0 = {...}) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/clutter-master-clock-default.c:443
> #10 0x00007f82f15478f9 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/clutter/clutter/clutter-master-clock-default.c:567
> #11 0x00007f82f288d7dd in g_main_dispatch (context=0x55d1e2ade750) at /usr/src/debug/glib2-2.56.0-1.fc28.x86_64/glib/gmain.c:3177
> #12 0x00007f82f288d7dd in g_main_context_dispatch (context=context@entry=0x55d1e2ade750) at /usr/src/debug/glib2-2.56.0-1.fc28.x86_64/glib/gmain.c:3830
> #13 0x00007f82f288dba8 in g_main_context_iterate (context=0x55d1e2ade750, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /usr/src/debug/glib2-2.56.0-1.fc28.x86_64/glib/gmain.c:3903
> #14 0x00007f82f288ded2 in g_main_loop_run (loop=0x55d1e2e06380) at /usr/src/debug/glib2-2.56.0-1.fc28.x86_64/glib/gmain.c:4099
> #15 0x00007f82f0d74a80 in meta_run () at /usr/src/debug/mutter-3.28.0-1.fc28.x86_64/src/core/main.c:660
> #16 0x000055d1e0f5b4d8 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/gnome-shell-3.28.0-1.fc28.x86_64/src/main.c:525

never falling out of the while (onscreen_native->total_pending_flips) loop because meta_gpu_kms_wait_for_flip keeps returning early with FALSE because gpu_kms->page_flips_not_supported.

(The laptop doesn't work well without the docking station, and didn't work well with F27, either, with sporadic hangs, sporadic refusal to suspend, etc., but the scenario above is reproducible now.)

Comment 1 Ben Cotton 2019-05-02 21:56:33 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 2 Ben Cotton 2019-05-28 19:52:14 UTC
Fedora 28 changed to end-of-life (EOL) status on 2019-05-28. Fedora 28 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.