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 735346 - 3.13.90 crashes after transient window appears (Fedora 21, dual head, NVIDIA GeForce 9600 GT)
3.13.90 crashes after transient window appears (Fedora 21, dual head, NVIDIA ...
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.13.x
Other Linux
: Normal critical
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 735334 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-08-24 22:22 UTC by Adam Williamson
Modified: 2014-08-25 15:00 UTC
See Also:
GNOME target: 3.14
GNOME version: ---


Attachments
backtrace of the crash (24.27 KB, text/plain)
2014-08-24 22:22 UTC, Adam Williamson
Details

Description Adam Williamson 2014-08-24 22:22:07 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.
Comment 1 Adam Williamson 2014-08-24 22:22:40 UTC
Created attachment 284362 [details]
backtrace of the crash
Comment 2 Adam Williamson 2014-08-24 22:25:02 UTC
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.
Comment 3 Adam Williamson 2014-08-24 22:26:31 UTC
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
Comment 4 Frederic Peters 2014-08-25 07:32:07 UTC
*** Bug 735334 has been marked as a duplicate of this bug. ***
Comment 5 Elad Alfassa 2014-08-25 10:09:40 UTC
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.

  • #0 raise
  • #1 abort
  • #2 g_assertion_message
  • #3 g_assertion_message_expr
  • #4 meta_workspace_relocate_windows
  • #5 meta_screen_remove_workspace
  • #6 ffi_call_unix64
  • #7 ffi_call
  • #8 0x0000003972a2efaa in
  • #9 0x0000003972a30458 in
  • #10 js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct)
  • #11 js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value*, JS::Value*)
  • #12 js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)
  • #13 0x00007fe10f74caa2 in
  • #14 0x0000000000000007 in
  • #15 0x00007fff12b66e68 in
  • #16 0x00007fff12b66f80 in
  • #17 ()#18 0x000000397cdb7300 in
  • #19 0x00007fe10c235640 in
  • #20 0x00007fe10f750b4f in
  • #21 0x0000000000000502 in
  • #22 0x00007fff12b66f38 in
  • #23 0x0000000003ba3070 in
  • #24 0x0000000000000002 in
  • #25 0x00007fff12b66eb0 in
  • #26 ()#27 0xffffffffffffffff in
  • #31 0x0000000003ba3070 in
  • #32 0x00007fe0fc00f84d in
  • #33 0x0000000000000981 in
  • #34 ()#35 0xffffffffffffffff in


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 ]---
Comment 6 Elad Alfassa 2014-08-25 10:30:16 UTC
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.
Comment 7 Jasper St. Pierre (not reading bugmail) 2014-08-25 11:05:34 UTC
Does everyone here have two monitors?
Comment 8 Ankur Sinha (FranciscoD) 2014-08-25 11:07:43 UTC
I do too. Yes.
Comment 9 Ankur Sinha (FranciscoD) 2014-08-25 11:41:38 UTC
Happened again. This time when I opened the plugin preferences dialog in evolution.
Comment 10 Jasper St. Pierre (not reading bugmail) 2014-08-25 11:45:01 UTC
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?
Comment 11 Jasper St. Pierre (not reading bugmail) 2014-08-25 13:02:05 UTC
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?
Comment 12 Elad Alfassa 2014-08-25 13:33:41 UTC
(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 :)
Comment 13 Jasper St. Pierre (not reading bugmail) 2014-08-25 13:39:34 UTC
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.
Comment 14 Ankur Sinha (FranciscoD) 2014-08-25 13:58:53 UTC
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
Comment 15 Elad Alfassa 2014-08-25 14:15:03 UTC
(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.
Comment 16 Adam Williamson 2014-08-25 14:31:28 UTC
I do, though. ;) I'll push the fixes.
Comment 17 Ankur Sinha (FranciscoD) 2014-08-25 14:41:56 UTC
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 :)
Comment 18 Adam Williamson 2014-08-25 15:00:44 UTC
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...