GNOME Bugzilla – Bug 672797
Mutter 3.3.92 crashes when making VirtualBox machines full screen
Last modified: 2012-03-26 11:16:16 UTC
I can reliably make mutter 3.3.92 crash when switching a VirtualBox machine to full screen. The crash is from running into the "stack->added == NULL" assert in meta_stack_raise() that was added in commit 402b4774 "stack: Make meta_window_raise() and meta_window_lower() smarter". Apparently there's a code path where meta_window_new() can call meta_stack_raise() after it has set up the stack with meta_stack_add(). The meta_stack_raise() call can happen if setup_constraint_info() calls meta_window_make_fullscreen_internal(): /* Workaround braindead legacy apps that don't know how to * fullscreen themselves properly - don't get fooled by * windows which hide their titlebar when maximized; that's * not the same as fullscreen, even if there are no struts * making the workarea smaller than the monitor. */ if (meta_prefs_get_force_fullscreen() && !window->hide_titlebar_when_maximized && meta_rectangle_equal (new, &monitor_info->rect) && window->has_fullscreen_func && !window->fullscreen) { /* meta_topic (META_DEBUG_GEOMETRY, */ meta_warning ( "Treating resize request of legacy application %s as a " "fullscreen request\n", window->desc); meta_window_make_fullscreen_internal (window); } Also see https://bugzilla.gnome.org/show_bug.cgi?id=620744#c30 regarding the assert. Backtrace:
+ Trace 229949
I have a patch. See: https://mail.gnome.org/archives/release-team/2012-March/msg00274.html I'll probably just attach it to this bug.
Created attachment 210564 [details] [review] stack: Fix crash when opening a full-screen window When mutter recognizes a full-screen window, it tries to raise it to the top of the stack. Unfortunately, a recent rewrite of the stack code didn't do well with raising a window to the top of the stack if the stack wasn't in a consistent state -- it would crash. Ensure that the stack is in a consistent state at the top of meta_stack_raise/meta_stack_lower. https://bugzilla.redhat.com/show_bug.cgi?id=806437
Thanks Jasper. I can confirm that the patch fixes the crash I was seeing.
Patch has been pushed (git bz didn't like the multiple URLs)