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 710239 - mutter crashes on suspend
mutter crashes on suspend
Status: RESOLVED NOTABUG
Product: mutter
Classification: Core
Component: general
3.10.x
Other Linux
: Normal major
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2013-10-16 07:44 UTC by Dirk Möbius
Modified: 2014-12-30 02:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dirk Möbius 2013-10-16 07:44:19 UTC
Description of problem:
I am experiencing a fatal error when I close the lid of my notebook and later open it again. When I open it, I am greeted with the "oh snap" screen of death. I cannot even click the Ok button, because mouse and keyboard don't seem to respond.

systemd-coredumpctl reports that gnome-shell crashes during the suspend event:

$ systemd-coredumpctl 
TIME                                         PID   UID   GID SIG EXE
              Fr 2013-10-11 22:29:27 CEST   4631  1000   100   6 /usr/bin/gnome-shell
              Sa 2013-10-12 00:32:33 CEST   6804  1000   100   6 /usr/bin/gnome-shell
              Sa 2013-10-12 10:28:50 CEST   5048  1000   100   6 /usr/bin/gnome-shell
              So 2013-10-13 00:49:49 CEST  15668  1000   100   6 /usr/bin/gnome-shell
              Mo 2013-10-14 09:39:30 CEST  24738  1000   100   6 /usr/bin/gnome-shell
              Mo 2013-10-14 12:23:01 CEST   2006  1000   100   6 /usr/bin/gnome-session
              Mo 2013-10-14 20:32:57 CEST   6676  1000   100   6 /usr/bin/gnome-shell
              Mo 2013-10-14 21:42:26 CEST   9310  1000   100   6 /usr/bin/gnome-shell
              Di 2013-10-15 01:11:56 CEST   5137  1000   100   6 /usr/bin/gnome-shell
              Di 2013-10-15 08:47:15 CEST   8136  1000   100   6 /usr/bin/gnome-shell
              Di 2013-10-15 08:50:44 CEST   7098  1000   100   6 /usr/bin/gnome-session
              Mi 2013-10-16 09:15:02 CEST   2677  1000   100   6 /usr/bin/gnome-shell

Here's the latest backtrace (sorry no debug symbols):

$ systemd-coredumpctl -o core dump 2677
$ gdb core /usr/bin/gnome-shell
(gdb) bt
  • #0 raise
    from /usr/lib/libc.so.6
  • #1 abort
    from /usr/lib/libc.so.6
  • #2 ??
    from /usr/lib/libglib-2.0.so.0
  • #3 g_assertion_message
    from /usr/lib/libglib-2.0.so.0
  • #4 g_assertion_message_expr
    from /usr/lib/libglib-2.0.so.0
  • #5 ??
    from /usr/lib/libmutter.so.0
  • #6 ??
    from /usr/lib/libmutter.so.0
  • #7 meta_monitor_config_apply_stored
    from /usr/lib/libmutter.so.0
  • #8 ??
    from /usr/lib/libmutter.so.0
  • #9 ??
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_object_newv
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_object_new
    from /usr/lib/libgobject-2.0.so.0
  • #12 meta_monitor_manager_initialize
    from /usr/lib/libmutter.so.0
  • #13 meta_screen_new
    from /usr/lib/libmutter.so.0
  • #14 meta_display_open
    from /usr/lib/libmutter.so.0
  • #15 meta_run
    from /usr/lib/libmutter.so.0
  • #16 ??
  • #17 __libc_start_main
    from /usr/lib/libc.so.6
  • #18 ??


How reproducible:
Always faults. I should mention that I have a special display configuration: the output of my Intel i7 on-board gpu is routed through the Nvidia gpu, using bumblebee, bbswitch and screenclone, so that I can make use of the display port that is attached to the Nvidia gpu, without actually using the Nvidia. (I use this to reduce head and conserve battery -- much better than using the Nvidia gpu directly!). So, I have the xserver-xorg-video-intel-2.20.14_virtual_crtc.patch installed (https://github.com/liskin/patches/blob/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch), which is described here: http://zachstechnotes.blogspot.de/2012/04/post-title.html

The patch creates a new virtual device named VIRTUAL1 that doesn't have a real connected status:

$ xrandr
Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
LVDS1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 310mm x 174mm
   1600x900       60.0*+   40.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 unknown connection (normal left inverted right x axis y axis)
   1600x1200      60.0  
   1400x1050      60.0  
   1280x960       60.0  
   800x600        56.2  
   640x480        59.9  

Maybe this is the culprit.


Steps to reproduce:
Install xserver-xorg-video-intel-2.20.14_virtual_crtc.patch. Close the lid, open it again.

Actual results:
Fatal error. "Blue screen" of death.

Expected results:
Flawless continuation of operation.

Additional info:
The issue manifested after upgrading to 3.10. 3.8.x was unaffected.
I'm using recent Arch Linux 64bit with gnome-shell/mutter 3.10.1.1-1.
Comment 1 Giovanni Campagna 2013-10-21 19:19:19 UTC
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 709009 ***
Comment 2 Dirk Möbius 2013-10-21 19:58:20 UTC
No, this is not the same as bug 709009, as the stack trace is completely different. Furthermore I use mutter 3.10.1.1 where 709009 is reported as fixed, so it cannot be the same error. Please re-open.
Comment 3 Giovanni Campagna 2013-10-21 20:01:19 UTC
The trace is the same (or rather, it points to the same g_assert()).

My bet is that you have a corrupted monitors.xml file that includes a configuration with 0 monitors. Please try again after removing it (it lives in ~/.config).
Comment 4 Dirk Möbius 2013-10-22 09:14:54 UTC
You are right! Removing ~/.config/monitors.xml helped - gnome-shell no longer crashes during suspend. Thanks! And sorry for making such a fuss.

In case you're interested: here's the monitor.xml I removed. Maybe it helps tracking down why gnome-shell crashed when it was there:

<monitors version="1">
  <configuration>
    <clone>no</clone>
    <output name="LVDS1">
      <vendor>LGD</vendor>
      <product>0x02df</product>
      <serial>0x00000000</serial>
      <width>1600</width>
      <height>900</height>
      <rate>60.028877258300781</rate>
      <x>0</x>
      <y>0</y>
      <rotation>normal</rotation>
      <reflect_x>no</reflect_x>
      <reflect_y>no</reflect_y>
      <primary>yes</primary>
      <presentation>no</presentation>
    </output>
    <output name="VIRTUAL1">
      <vendor>unknown</vendor>
      <product>unknown</product>
      <serial>unknown</serial>
    </output>
  </configuration>
</monitors>
Comment 5 Jasper St. Pierre (not reading bugmail) 2014-12-30 02:21:12 UTC
OK.