GNOME Bugzilla – Bug 735346
3.13.90 crashes after transient window appears (Fedora 21, dual head, NVIDIA GeForce 9600 GT)
Last modified: 2014-08-25 15:00:44 UTC
I'm seeing a 100% reproducible crash in GNOME Shell 3.13.90 on my Fedora 21 desktop. I believe this is only happening since 3.13.90, but I can't get the system to work at all with a downgraded Shell so I can't tell for 100% sure. The crash happens shortly (like, a second) after a transient window pops up. I've been reproducing it with the login window for LastPass (the Firefox plugin) - I click the LastPass icon, the login dialog appears, and a second later, Shell crashes (it fails to respawn, also). The crash only appears to happen if I have two monitors connected (my usual configuration). If I start Shell with only one monitor connected, I cannot trigger the crash. The graphics adapter on the system is an NVIDIA GeForce 9600 GT, I'm using the nouveau driver. The rest of the system is up-to-date Fedora 21. I'll attach a backtrace.
Created attachment 284362 [details] backtrace of the crash
The fatal error from the journal appears to be: Aug 24 07:59:52 adam.happyassassin.net gnome-session[12339]: mutter:ERROR:core/workspace.c:352:meta_workspace_relocate_windows: assertion failed: (workspace->windows == NULL) there don't seem to be any other relevant messages around it.
well, some instances of the crash - but not all - have lines like this just preceding the error: Aug 24 07:49:37 adam.happyassassin.net gnome-session[9573]: (gnome-shell:9893): mutter-WARNING **: STACK_OP_REMOVE: window X11:28005d2 not in stack Aug 24 07:49:37 adam.happyassassin.net gnome-session[9573]: (gnome-shell:9893): mutter-WARNING **: STACK_OP_REMOVE: window X11:28005d2 not in stack
*** Bug 735334 has been marked as a duplicate of this bug. ***
I can see the exact same crash here when on two screens and trying to use the gedit open dialog on a two-monitor system. This is not nvidia related because the laptop is using intel graphics.
+ Trace 233998
I also have this in my system log when the crash happened: Aug 25 13:02:22 rincewind kernel: ------------[ cut here ]------------ Aug 25 13:02:22 rincewind kernel: WARNING: CPU: 3 PID: 668 at drivers/gpu/drm/i915/intel_display.c:1234 assert_cursor.constprop.79+0x9b/0xa0 [i915]() Aug 25 13:02:22 rincewind kernel: cursor on pipe B assertion failure (expected off, current on) Aug 25 13:02:22 rincewind kernel: Modules linked in: bnep bluetooth fuse xt_CHECKSUM iptable_mangle ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat tun bridge stp llc nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack Aug 25 13:02:22 rincewind kernel: iwlwifi ghash_clmulni_intel microcode snd_pcm joydev cfg80211 serio_raw i2c_i801 rtsx_pci_ms memstick thinkpad_acpi snd_timer tpm_tis wmi rfkill tpm mei_me snd mei soundcore sh Aug 25 13:02:22 rincewind kernel: CPU: 3 PID: 668 Comm: Xorg.bin Tainted: G W 3.17.0-0.rc1.git3.2.fc22.1.x86_64 #1 Aug 25 13:02:22 rincewind kernel: Hardware name: LENOVO 33472GU/33472GU, BIOS GDET92WW (1.52 ) 02/05/2013 Aug 25 13:02:22 rincewind kernel: 0000000000000000 00000000fd49463a ffff8802088eba38 ffffffff817314eb Aug 25 13:02:22 rincewind kernel: ffff8802088eba80 ffff8802088eba70 ffffffff81093ddd 0000000000000001 Aug 25 13:02:22 rincewind kernel: 0000000000000001 0000000000000001 ffff880210b5d000 ffff88003fe90000 Aug 25 13:02:22 rincewind kernel: Call Trace: Aug 25 13:02:22 rincewind kernel: [<ffffffff817314eb>] dump_stack+0x45/0x56 Aug 25 13:02:22 rincewind kernel: [<ffffffff81093ddd>] warn_slowpath_common+0x7d/0xa0 Aug 25 13:02:22 rincewind kernel: [<ffffffff81093e5c>] warn_slowpath_fmt+0x5c/0x80 Aug 25 13:02:22 rincewind kernel: [<ffffffffa0145c0b>] assert_cursor.constprop.79+0x9b/0xa0 [i915] Aug 25 13:02:22 rincewind kernel: [<ffffffffa0148319>] intel_enable_pipe+0x49/0x200 [i915] Aug 25 13:02:22 rincewind kernel: [<ffffffffa0150210>] ironlake_crtc_enable+0x3b0/0xe80 [i915] Aug 25 13:02:22 rincewind kernel: [<ffffffffa014c3ea>] __intel_set_mode+0x87a/0x16f0 [i915] Aug 25 13:02:22 rincewind kernel: [<ffffffffa0154c16>] intel_set_mode+0x16/0x30 [i915] Aug 25 13:02:22 rincewind kernel: [<ffffffffa0155d1a>] intel_crtc_set_config+0xa9a/0xeb0 [i915] Aug 25 13:02:22 rincewind kernel: [<ffffffffa0061b24>] drm_mode_set_config_internal+0x64/0xe0 [drm] Aug 25 13:02:22 rincewind kernel: [<ffffffffa006621b>] drm_mode_setcrtc+0x2ab/0x5b0 [drm] Aug 25 13:02:22 rincewind kernel: [<ffffffffa0057e5f>] drm_ioctl+0x1df/0x680 [drm] Aug 25 13:02:22 rincewind kernel: [<ffffffff8121b5c0>] do_vfs_ioctl+0x2d0/0x4b0 Aug 25 13:02:22 rincewind kernel: [<ffffffff8121b821>] SyS_ioctl+0x81/0xa0 Aug 25 13:02:22 rincewind kernel: [<ffffffff81131796>] ? __audit_syscall_exit+0x1f6/0x2a0 Aug 25 13:02:22 rincewind kernel: [<ffffffff81738569>] system_call_fastpath+0x16/0x1b Aug 25 13:02:22 rincewind kernel: ---[ end trace 823f3fd0af4a00ef ]---
To reproduce easily, open firefox and go to a website that has an invalid SSL certificate. Try to add an exception, a transient window will open and your shell would crash hard and the sadface window will be shown. I could only reproduce this when running with two monitors.
Does everyone here have two monitors?
I do too. Yes.
Happened again. This time when I opened the plugin preferences dialog in evolution.
I don't have an external monitor here to test with. I will be at the office very soon, where I will have one to test with. Hang tight for an hour or two, OK?
While I wait to get an adapter for my external monitor, I pushed a few blind patches to https://git.gnome.org/browse/mutter after code inspection. Can somebody try them out to see if it fixes the crash?
(In reply to comment #11) > While I wait to get an adapter for my external monitor, I pushed a few blind > patches to https://git.gnome.org/browse/mutter after code inspection. Can > somebody try them out to see if it fixes the crash? Tested now, I can't reproduce the crash with those patches installed. It seems that the animation of the transient window opening got *way* slower. But I guess a slow animation is better than a crash :)
That's a different bug. And one I just fixed :) Gonna close this one. If this crash comes back, feel free to reopen. If you have any other bugs or crashers from the workspace rewrite, feel free to file them.
I've built rpms for f21 x86_64 here if anyone else wants to test it out: https://ankursinha.fedorapeople.org/mutter-gnome-735346/ I've installed it. I haven't had the bug yet, but I'll wait a day or two before confirming the fix. It wasn't app specific for me. I got it with abrt/evo/lifeograph. Elad, can you push the fix to F21? It'll make sure others don't run into it and file dups :) Thanks, Ankur
(In reply to comment #14) > I've built rpms for f21 x86_64 here if anyone else wants to test it out: > https://ankursinha.fedorapeople.org/mutter-gnome-735346/ > > I've installed it. I haven't had the bug yet, but I'll wait a day or two before > confirming the fix. It wasn't app specific for me. I got it with > abrt/evo/lifeograph. You could try my steps to reproduce, they are guaranteed to reproduce a crash when running on an affected version of mutter. > > Elad, can you push the fix to F21? It'll make sure others don't run into it and > file dups :) > I can't. I don't have permissions to that package in Fedora. not a provenpackage.
I do, though. ;) I'll push the fixes.
Thanks Adam! I may have another fix for you to push in about five minutes :P The other thing I noticed was that I can easily get around the sad face "oh no!" screen - and I'm not saying this is a bad thing at all. I go to a virtual terminal and restart gnome-shell: `DISPLAY=:0 gnome-shell --replace &`. The sad face window is just another one and I think it went away with a simple alt + f4. That way, you don't lose your work and need to relogin. Just documenting it since it may come in handy while testing ;) Thanks all for the quick fixes :)
hansg beat me to the mutter fix - fix confirmed in Fedora with mutter-3.13.90-3.fc21.x86_64 . The workaround you mention is 'generally known', I think, but it didn't work for me in this case, at least the one time I tried it...