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 630003 - Crash in tiling code when moving windows
Crash in tiling code when moving windows
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
2.31.x
Other Linux
: Normal critical
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2010-09-18 16:16 UTC by Milan Bouchet-Valat
Modified: 2010-09-21 22:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
tile-preview: Fix crash when falling back to default style (1.38 KB, patch)
2010-09-21 22:11 UTC, Florian Müllner
committed Details | Review

Description Milan Bouchet-Valat 2010-09-18 16:16:44 UTC
For a few days, the Shell crashes when I move some windows around the top of the screen. I guess it's because it's triggering the new tiling code in some bad ways.

The funny side of this is that those windows are currently crashing when Mutter is restarted, which looks like a revenge from the Shell... More seriously, is it possible that the tiling code is doing something wrong that leads to a XError and the crash at:
https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/633303/comments/6

(This may have something to do with Ubuntu 10.10 also...)


Program received signal SIGSEGV, Segmentation fault.
on_preview_window_style_set (widget=0x93c03c8, previous=0x0, user_data=0x999ef58) at ui/tile-preview.c:120
120	      GdkColor selection = style->base[GTK_STATE_SELECTED];
(gdb) ba
  • #0 on_preview_window_style_set
    at ui/tile-preview.c line 120
  • #1 g_cclosure_marshal_VOID__OBJECT
    at gmarshal.c line 638
  • #2 g_closure_invoke
    at gclosure.c line 766
  • #3 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #4 g_signal_emit_valist
    at gsignal.c line 2983
  • #5 g_signal_emit
    at gsignal.c line 3040
  • #6 gtk_widget_set_style_internal
    at gtkwidget.c line 7395
  • #7 gtk_widget_reset_rc_style
    at gtkwidget.c line 6977
  • #8 gtk_widget_realize
    at gtkwidget.c line 3830
  • #9 meta_tile_preview_new
    at ui/tile-preview.c line 164
  • #10 meta_screen_tile_preview_update_timeout
    at core/screen.c line 1769
  • #11 update_move
    at core/window.c line 7859
  • #12 event_callback
    at core/display.c line 1984
  • #13 filter_func
    at ui/ui.c line 85
  • #14 gdk_event_apply_filters
    at gdkeventsource.c line 71
  • #15 gdk_event_source_translate_event
    at gdkeventsource.c line 144
  • #16 _gdk_events_queue
    at gdkeventsource.c line 275
  • #17 gdk_display_get_event
    at gdkdisplay.c line 376
  • #18 gdk_event_source_dispatch
    at gdkeventsource.c line 297
  • #19 g_main_dispatch
    at gmain.c line 2149
  • #20 g_main_context_dispatch
    at gmain.c line 2702
  • #21 g_main_context_iterate
    at gmain.c line 2780
  • #22 g_main_loop_run
    at gmain.c line 2988
  • #23 main
    at core/main.c line 725

Comment 1 Florian Müllner 2010-09-18 18:01:35 UTC
From IRC:
This happens on Ubuntu with the default theme. The problem here is that Ubuntu does use a third party theme engine (murrine), which is not part of the moduleset and thus is linked against a wrong GTK+ version.
Comment 2 Jonathan Strander 2010-09-18 23:49:32 UTC
(using Ubuntu 10.04)
The exact crash error from the terminal on my end is:

Window manager warning: Log level 8: gtk_style_get_valist: assertion `GTK_IS_STYLE (style)' failed


I quick workaround is to (while in the shell) switch to the default Clearlooks and move a window around. Thereafter I was able to switch to my desired theme and continue as normal. If the shell restarted for any reason (either intentional on my part or due to errors) I am required to repeat the procedure.

Obviously for now I could just use Clearlooks.
Comment 3 Jonathan Strander 2010-09-20 03:03:19 UTC
Addendum:
Note that only the control set matters in this case. I discovered that you can use the Clearlooks controls with any border/icon themes and it works dandy.
Comment 4 Florian Müllner 2010-09-21 22:11:16 UTC
Created attachment 170792 [details] [review]
tile-preview: Fix crash when falling back to default style

gtk_rc_get_style_by_paths() returns NULL if no matching style was
found and the default style should be used. Actually use the default
style in this case.
Comment 5 Florian Müllner 2010-09-21 22:12:08 UTC
Attachment 170792 [details] pushed as beb65f0 - tile-preview: Fix crash when falling back to default style

Reviewed by Owen on IRC.