After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 692991 - gnome-shell doesn't fully unlock the screen (stops after entering password with gray screen)
gnome-shell doesn't fully unlock the screen (stops after entering password wi...
Status: RESOLVED DUPLICATE of bug 689106
Product: gnome-shell
Classification: Core
Component: general
3.6.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2013-02-01 10:37 UTC by Maciej (Matthew) Piechotka
Modified: 2013-02-17 15:32 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Maciej (Matthew) Piechotka 2013-02-01 10:37:28 UTC
Sometimes gnome-shell hangs on unlock of screensaver (no JS stacktrace as I thought it is bug #688197, I will post the error log on next repro).

Thread 1 (Thread 0x7ff2d84b6940 (LWP 25049))

  • #0 poll
    at ../sysdeps/unix/syscall-template.S line 81
  • #1 poll
    at /usr/include/bits/poll2.h line 46
  • #2 _xcb_conn_wait
    at /var/tmp/portage/x11-libs/libxcb-1.9/work/libxcb-1.9/src/xcb_conn.c line 414
  • #3 _xcb_out_send
    at /var/tmp/portage/x11-libs/libxcb-1.9/work/libxcb-1.9/src/xcb_out.c line 349
  • #4 xcb_writev
    at /var/tmp/portage/x11-libs/libxcb-1.9/work/libxcb-1.9/src/xcb_out.c line 297
  • #5 _XSend
    at /var/tmp/portage/x11-libs/libX11-1.5.0/work/libX11-1.5.0/src/xcb_io.c line 494
  • #6 XRenderCompositeTrapezoids
    at /var/tmp/portage/x11-libs/libXrender-0.9.7/work/libXrender-0.9.7/src/Trap.c line 67
  • #7 composite_traps
    at cairo-xlib-render-compositor.c line 1887
  • #8 clip_and_composite
    at cairo-traps-compositor.c line 1038
  • #9 clip_and_composite_traps
    at cairo-traps-compositor.c line 1819
  • #10 _cairo_traps_compositor_stroke
    at cairo-traps-compositor.c line 2181
  • #11 _cairo_compositor_stroke
    at cairo-compositor.c line 157
  • #12 _cairo_xlib_surface_stroke
    at cairo-xlib-surface.c line 1621
  • #13 _cairo_surface_stroke
    at cairo-surface.c line 2180
  • #14 _cairo_surface_stroke
    at cairo-surface.c line 2149
  • #15 _cairo_gstate_stroke
    at cairo-gstate.c line 1185
  • #16 _cairo_default_context_stroke
    at cairo-default-context.c line 1008
  • #17 INT_cairo_stroke
    at cairo.c line 2146
  • #18 meta_draw_op_draw_with_env
    at ui/theme.c line 3739
  • #19 meta_draw_op_list_draw_with_style
    at ui/theme.c line 4207
  • #20 meta_draw_op_draw_with_env
    at ui/theme.c line 4034
  • #21 meta_draw_op_list_draw_with_style
    at ui/theme.c line 4207
  • #22 meta_frame_style_draw_with_style
    at ui/theme.c line 4807
  • #23 meta_theme_draw_frame_with_style
    at ui/theme.c line 5476
  • #24 meta_frames_paint
    at ui/frames.c line 2014
  • #25 meta_frames_draw
    at ui/frames.c line 1893
  • #26 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #27 gtk_widget_draw_marshallerv
    at gtkwidget.c line 851
  • #28 _g_closure_invoke_va
    at gclosure.c line 840
  • #29 g_signal_emit_valist
    at gsignal.c line 3226
  • #30 g_signal_emit
    at gsignal.c line 3371
  • #31 _gtk_widget_draw_internal
    at gtkwidget.c line 5754
  • #32 _gtk_widget_draw_internal
    at gtkwidget.c line 5732
  • #33 gtk_widget_send_expose
    at gtkwidget.c line 6134
  • #34 gtk_main_do_event
    at gtkmain.c line 1635
  • #35 _gdk_window_process_updates_recurse
    at gdkwindow.c line 3880
  • #36 gdk_window_process_updates_internal
    at gdkwindow.c line 4066
  • #37 gdk_window_process_all_updates
    at gdkwindow.c line 4197
  • #38 gdk_window_update_idle
    at gdkwindow.c line 3815
  • #39 gdk_threads_dispatch
    at gdk.c line 788
  • #40 g_main_dispatch
    at gmain.c line 2784
  • #41 g_main_context_dispatch
    at gmain.c line 3288
  • #42 g_main_context_iterate
    at gmain.c line 3359
  • #43 g_main_context_iterate
    at gmain.c line 3296
  • #44 g_main_loop_run
    at gmain.c line 3553
  • #45 meta_run
    at core/main.c line 545
  • #46 main
    at main.c line 416

	Inferior 1 [process 25049] will be detached.

Quit anyway? (y or n) Detaching from program: /usr/bin/gnome-shell, process 25049
Comment 1 Giovanni Campagna 2013-02-01 15:42:57 UTC
The main thread seems to be blocked on a sync X call, which is expected if you captured this from another VT.

Can you confirm that execution then blocks on a JS instruction?
Otherwise, I don't see how this can be a deadlock, rather than, general slowness due to powersaving CPU and GPU.
Comment 2 Maciej (Matthew) Piechotka 2013-02-03 10:35:41 UTC
It doesn't block but usually the unlock of screen is instantenious - I've waited a minute in this case. Computer was connected to AC so the jump to P0 should be done much faster (even with conservative governor). The hand happens after entering the password and there was no problem with entering the password itself. It is not an issue with swap as well (no disk activity and no swap occupancy).

I've notice a connection between hang and failure to suspend due to inactivity. But I would need to experience a few more hangs to be sure.

gjs_dumpstack was empty.
Comment 3 Maciej (Matthew) Piechotka 2013-02-17 15:09:43 UTC
(In reply to comment #1)
> The main thread seems to be blocked on a sync X call, which is expected if you
> captured this from another VT.
> 
> Can you confirm that execution then blocks on a JS instruction?
> Otherwise, I don't see how this can be a deadlock, rather than, general
> slowness due to powersaving CPU and GPU.

Just an additional point - it is apparent deadlock - not a real one. Alt+F2 and entering r works and unlocks the screen so:

 - It is not CPU/GPU/IO slowness as the restart was instantaneous 
 - gnome-shell is not deadlocked per se but enters incorrect state
Comment 4 Giovanni Campagna 2013-02-17 15:14:00 UTC
Ah, this is different then.
Did you see anything in stderr, like an "invalid pop" JS ERROR?
Comment 5 Maciej (Matthew) Piechotka 2013-02-17 15:25:50 UTC
(In reply to comment #4)
> Ah, this is different then.
> Did you see anything in stderr, like an "invalid pop" JS ERROR?

Not sure. Error seems to not be logged int ~/.xsession-errors any more:

% stat .xsession-errors
  File: ‘/home/mpiechotka/.xsession-errors’
  Size: 4466304   	Blocks: 8728       IO Block: 4096   regular file
Device: 1dh/29d	Inode: 839840      Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/mpiechotka)   Gid: ( 1000/mpiechotka)
Access: 2013-02-17 15:15:12.076136579 +0000
Modify: 2012-09-27 09:58:38.919170311 +0100
Change: 2012-09-27 09:58:38.919170311 +0100
 Birth: -
% lsof .xsession-errors || echo "Not opened"
Not opened

Unfortunately running gnome-shell from commandline become recently (3.4) rather hard (not the running itself as much as setting various environment variables etc. In addition ssh key daemon of gnome-keyring stops working probably due to some conflicts) so it would rather disrupt the workflow. to try to reproduce bug which happens every week or so. Is the stderr saved anywhere?
Comment 6 Giovanni Campagna 2013-02-17 15:26:51 UTC
Since 3.6, stderr is in ~/.cache/gdm/session.log
Comment 7 Maciej (Matthew) Piechotka 2013-02-17 15:30:50 UTC
(In reply to comment #6)
> Since 3.6, stderr is in ~/.cache/gdm/session.log

I believe this is relevant part. I don't have any extensions installed so I guess plug-in here references mutter plug-in.

      JS LOG: pushModal: invocation of begin_modal failed
Window manager warning: Log level 8: meta_end_modal_for_plugin: assertion `compositor->modal_plugin == plugin' failed
    JS ERROR: !!!   Exception in callback for signal: unlocked
    JS ERROR: !!!     message = '"incorrect pop"'
    JS ERROR: !!!     fileName = '"/usr/share/gnome-shell/js/ui/main.js"'
    JS ERROR: !!!     lineNumber = '638'
    JS ERROR: !!!     stack = '"popModal@/usr/share/gnome-shell/js/ui/main.js:638
ScreenShield<.unlock@/usr/share/gnome-shell/js/ui/screenShield.js:838
wrapper@/usr/share/gjs-1.0/lang.js:213
ScreenShield<._tweenUnlocked@/usr/share/gnome-shell/js/ui/screenShield.js:808
wrapper@/usr/share/gjs-1.0/lang.js:213
ScreenShield<._onUnlockSucceded@/usr/share/gnome-shell/js/ui/screenShield.js:688
wrapper@/usr/share/gjs-1.0/lang.js:213
_emit@/usr/share/gjs-1.0/signals.js:124
UnlockDialog<._onVerificationComplete@/usr/share/gnome-shell/js/ui/unlockDialog.js:275
wrapper@/usr/share/gjs-1.0/lang.js:213
_emit@/usr/share/gjs-1.0/signals.js:124
ShellUserVerifier<._onVerificationComplete@/usr/share/gnome-shell/js/gdm/util.js:328
wrapper@/usr/share/gjs-1.0/lang.js:213
"'
Window manager warning: Log level 8: meta_end_modal_for_plugin: assertion `compositor->modal_plugin == plugin' failed
    JS ERROR: !!!   Exception in callback for signal: Unlock
    JS ERROR: !!!     message = '"incorrect pop"'
    JS ERROR: !!!     fileName = '"/usr/share/gnome-shell/js/ui/main.js"'
    JS ERROR: !!!     lineNumber = '638'
    JS ERROR: !!!     stack = '"popModal@/usr/share/gnome-shell/js/ui/main.js:638
ScreenShield<.unlock@/usr/share/gnome-shell/js/ui/screenShield.js:838
wrapper@/usr/share/gjs-1.0/lang.js:213
ScreenShield<._init/<@/usr/share/gnome-shell/js/ui/screenShield.js:425
_emit@/usr/share/gjs-1.0/signals.js:124
_convertToNativeSignal@/usr/share/gjs-1.0/overrides/Gio.js:130
"'
Window manager warning: Log level 8: g_source_remove: assertion `tag > 0' failed
gnome-session[5152]: WARNING: Detected that screensaver has left the bus
** Message: applet now removed from the notification area
      JS LOG: GNOME Shell started at Sun Feb 17 2013 15:05:50 GMT+0000 (GMT)
** Message: applet now embedded in the notification area
Comment 8 Giovanni Campagna 2013-02-17 15:32:49 UTC
Ok, so this is a duplicate of bug 689106.

Thanks for taking the time to report this bug.
This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade.

*** This bug has been marked as a duplicate of bug 689106 ***