Bug 1315880

Summary: lock screen unresponsive
Product: [Fedora] Fedora Reporter: Ralph Giles <giles>
Component: gnome-shellAssignee: Owen Taylor <otaylor>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: fmuellner, mikes, otaylor
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-12 21:27:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Ralph Giles 2016-03-08 20:59:40 UTC
Description of problem:

Since installing updates last week, the lockscreen on my workstation is often unresponsive. Moving the mouse or pressing keys will wake the screens, but they will show either black, or the lock screen image with clock and the up-arrow animation frozen near the beginning.

kill -HUP <pid of gnome-shell> will reload the desktop, then cover it with the lock screen with displays as normal.

Version-Release number of selected component (if applicable):

Fedora 23 x86_64
gnome-shell 3.18.4-1.fc23
gdm 3.18.2-2.fc23

Possibly relevant: I've tested wayland in the past, but this happens with the vanilla "GNOME" session config. High dpi is configured. Machine has three displays split between two graphics cards. Pointer often appears frozen or invisible in gnome-shell, although it works fine over applications.

How reproducible:

Not always. Seems to need the screens to have been asleep for some time. ~10 minutes.

Steps to Reproduce:
1. Let screen lock due to inactivity
2. Wait 10-30 minutes
3. Move mouse

Actual results:

Screen wakes but does not show login prompt to unlock.

Expected results:

Lock screen animates. Keypress triggers transition to login screen which accepts password input to unlock.
Additional info:

Comment 1 Mike Stajduhar 2016-03-10 14:13:52 UTC
I get roughly they same results running Cinnamon desktop.  The screenlock image is frozen with the time the display came out of being blacked out.  This machine is running a FC23 x86_64, single monitor, radeonsi driver, and has never seen Wayland.

Comment 2 Ralph Giles 2016-03-10 16:49:04 UTC
Thanks for commenting, Mike. Sounds like it's an issue just with the gnome shell lock screen.

Comment 3 Ralph Giles 2016-03-11 18:11:42 UTC
Looks like the hang is in xcb waiting for vblank? Backtrace of gnome-shell on the hung lock screen.

#0  0x00007f922a6a0fdd in poll () at /lib64/libc.so.6
#1  0x00007f9229f10272 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f9229f11c27 in wait_for_reply () at /lib64/libxcb.so.1
#3  0x00007f9229f11d31 in xcb_wait_for_reply () at /lib64/libxcb.so.1
#4  0x00007f9220e78c66 in dri2WaitForMSC () at /lib64/libGL.so.1
#5  0x00007f922e7e1193 in _cogl_winsys_wait_for_vblank ()
    at /lib64/libcogl.so.20
#6  0x00007f922e7e1930 in _cogl_winsys_onscreen_swap_region ()
    at /lib64/libcogl.so.20
#7  0x00007f922e7d0925 in cogl_onscreen_swap_region () at /lib64/libcogl.so.20
#8  0x00007f922f0a9345 in clutter_stage_cogl_redraw ()
    at /lib64/libclutter-1.0.so.0
#9  0x00007f922f115657 in _clutter_stage_do_update ()
    at /lib64/libclutter-1.0.so.0
#10 0x00007f922f0ff389 in clutter_clock_dispatch ()
    at /lib64/libclutter-1.0.so.0
#11 0x00007f922c1a7e3a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#12 0x00007f922c1a81d0 in g_main_context_iterate.isra ()
    at /lib64/libglib-2.0.so.0
#13 0x00007f922c1a84f2 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#14 0x00007f922fd66e9c in meta_run () at /lib64/libmutter.so.0
#15 0x0000564a540e17c7 in main ()

Comment 4 Ralph Giles 2016-03-11 23:29:17 UTC
Backtrace with debuginfo.

#1  0x00007f03d247f272 in _xcb_conn_wait (__timeout=-1, __nfds=1, __fds=0x7ffddddfb670) at /usr/include/bits/poll2.h:46
#2  0x00007f03d247f272 in _xcb_conn_wait (c=c@entry=0x55cca4d9b080, cond=cond@entry=0x7ffddddfb790, vector=vector@entry=0x0, count=count@entry=0x0)
    at xcb_conn.c:459
#3  0x00007f03d2480c27 in wait_for_reply (c=c@entry=0x55cca4d9b080, request=361735, e=e@entry=0x0) at xcb_in.c:516
#4  0x00007f03d2480d31 in xcb_wait_for_reply (c=c@entry=0x55cca4d9b080, request=361735, e=e@entry=0x0) at xcb_in.c:546
#5  0x00007f03cada2795 in xcb_dri2_wait_msc_reply (c=c@entry=0x55cca4d9b080, cookie=..., e=e@entry=0x0) at dri2.c:1037
#6  0x00007f03c93e7c66 in dri2WaitForMSC (pdraw=0x55cca4fe81e0, target_msc=0, divisor=1, remainder=<optimized out>, ust=0x7ffddddfb8a0, msc=0x7ffddddfb8a8, sbc=0x7ffddddfb8b0) at dri2_glx.c:478
#7  0x00007f03d6d50193 in _cogl_winsys_wait_for_vblank (onscreen=onscreen@entry=0x55cca4fe7f30) at winsys/cogl-winsys-glx.c:1632
#8  0x00007f03d6d50930 in _cogl_winsys_onscreen_swap_region (onscreen=0x55cca4fe7f30, user_rectangles=<optimized out>, n_rectangles=<optimized out>)
    at winsys/cogl-winsys-glx.c:1834
#9  0x00007f03d6d3f925 in cogl_onscreen_swap_region (onscreen=0x55cca4fe7f30, rectangles=rectangles@entry=0x7ffddddfba40, n_rectangles=n_rectangles@entry=1)
    at cogl-onscreen.c:374
#10 0x00007f03d7618345 in clutter_stage_cogl_redraw (stage_window=0x55cca4fe60a0) at cogl/clutter-stage-cogl.c:625
#11 0x00007f03d7684657 in _clutter_stage_do_update (stage=0x55cca4fe5650 [MetaStage]) at clutter-stage.c:1130
#12 0x00007f03d7684657 in _clutter_stage_do_update (stage=0x55cca4fe5650 [MetaStage]) at clutter-stage.c:1186
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator': 
#13 0x00007f03d766e389 in clutter_clock_dispatch (master_clock=0x55cca535fa80 [ClutterMasterClockDefault], stages=0x55cca93a69a0)
    at clutter-master-clock-default.c:443
#14 0x00007f03d766e389 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>)
    at clutter-master-clock-default.c:567
#15 0x00007f03d4716e3a in g_main_context_dispatch (context=0x55cca4d90800)
    at gmain.c:3154
#16 0x00007f03d4716e3a in g_main_context_dispatch (context=context@entry=0x55cca4d90800) at gmain.c:3769
#17 0x00007f03d47171d0 in g_main_context_iterate (context=0x55cca4d90800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#18 0x00007f03d47174f2 in g_main_loop_run (loop=0x55cca502c1b0) at gmain.c:4034
---Type <return> to continue, or q <return> to quit---
#19 0x00007f03d82d5e9c in meta_run () at core/main.c:437
#20 0x000055cca2dca7c7 in main (argc=1, argv=0x7ffddddfbdf8) at main.c:471

Comment 5 Ralph Giles 2016-03-24 17:19:51 UTC
This hasn't been happening this week.

Comment 6 Ralph Giles 2016-04-12 21:27:51 UTC
Seems to have fixed itself.