GNOME Bugzilla – Bug 730214
Assertion failure in meta_monitor_config_assign_crtcs
Last modified: 2016-01-22 07:28:56 UTC
Created attachment 276623 [details] Stack trace GNOME Shell tends to crash when I wake up my laptop. There's a long pause, then I see my desktop session flash briefly and gnome-shell restarts and shows the lock screen. I extracted the full stack trace (attached) from the core file. The attached gdb log file contains the outputs of 'bt' and 'thread apply all bt full'. Short version: g_assert (n_outputs == config->n_outputs); in meta_monitor_config_assign_crtcs fails because n_outputs == 1 but config->n_outputs == 0. My monitor configuration before I suspended the laptop was as follows: - internal laptop LCD (disabled) - external TV connected via VGA (1920x1080) I suspended the laptop and unplugged the VGA cable (I don't remember which action I performed first) and saw the crash next time I resumed, with no external outputs connected. I originally filed this bug at https://bugs.launchpad.net/ubuntu-gnome/+bug/1319897, where it's marked private, so you can't look at it (yet). I'm on Ubuntu GNOME 14.04, with GNOME 3.12 from the PPA. gnome-shell is 3.12.1.
Bug 727457 looks very similar (crash after resume from suspend, external display was used right before suspending), but the crash itself is a bit different.
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 725637 ***
I just got this assertion again with gnome-shell 3.18.2. Here's what journalctl says: Sau 21 08:06:58 platonas gnome-session[26892]: mutter:ERROR:backends/meta-monitor-config.c:2032:meta_monitor_config_assign_crtcs: assertion failed: (n_outputs == config->n_outputs) ... Sau 21 08:07:37 platonas gnome-session-binary[26892]: WARNING: Application 'gnome-shell.desktop' killed by signal 6 Sau 21 08:07:37 platonas gnome-session[26892]: gnome-session-binary[26892]: WARNING: Application 'gnome-shell.desktop' killed by signal 6 This bug's been marked as a duplicate of a bug that was fixed in mid-2014. That fix ought to've made its way into gnome-shell 3.18 by now. This makes me think this bug is not actually a duplicate of that one. :(
Specific steps to reproduce are welcome
Unplugging/re-plugging an external monitor does this for me, but rather infrequently -- about once every few weeks. So far I haven't been able to reproduce this intentionally, despite sitting there unplugging/replugging the displayport connector for several minutes.
Actually it might suspend/resume (by closing/opening laptop lid) that triggers this: apparently gnome-settings-daemon turns off the internal screen when you close the laptop lid. I generally do this every day: in the morning I wake up the laptop and plug in an external monitor, in the evening I suspend the laptop and unplug the external monitor. (And sometimes I get crashes in the morning.) This might be a plausible scenario: - plug in external monitor - close laptop lid - gnome-settings-daemon will turn off the internal LCD and trigger a suspend - unplug external monitor - open laptop lid - laptop wakes up, notices that the external monitor is gone, X gets an unplug event - gnome-settings-daemon turns the internal LCD back on There may be race conditions between these actions that might result in X thinking there are zero enabled outputs at a certain time. Bug 730551 is probably related to this one -- see this Twitter conversation between myself and Federico Mena Quintero: https://twitter.com/mgedmin/status/690058594574725120