GNOME Bugzilla – Bug 315000
crash in metacity in find_first_fit
Last modified: 2005-09-02 15:55:27 UTC
Steps to reproduce: 1. I think this has something to do with switching workspaces but I'm not sure 2. 3. Stack trace: (gdb) thread apply all bt
+ Trace 62696
Thread 1 (Thread -1217479776 (LWP 25582))
Other information: This is with CVS HEAD compiled 2005-08-31
Just looking at the ChangeLog, I wonder if this isn't somehow related to the fix for bug 313234 in meta_window_place in src/place.c
Seems like meta_screen_get_natural_xinerama_list() doesn't get called before the "goto done_check_denied_focus", which requires that xineramas_list be non-NULL.
Created attachment 51640 [details] [review] untested patch that moves the call to meta_screen_get_natural_xinerama_list to earlier this is untested and I totally don't know what I'm doing here, but it seems like this would fix the problem :-)
I found this when running under valgrind too. There's a valgrind backtrace in bug 313030
You rock! In the patch, you should only need to move the meta_screen_get_natural_xinerama_list() call earlier; meta_screen_get_current_xinerama() is called to set the value of xi inside the relevant 'if' block already, and the setting of x & y make much more sense to keep where they are (they're setup for the find_first_fit() call that are just a few lines down so separating them would make it hard for someone reading the code to figure out where, how, and why x & y are set). We'll need to get Havoc to approve the patch and then get the release team to do so too.
Created attachment 51667 [details] [review] new patch with elijah's suggested modifications This is a new patch with Elijah's suggested modifications. I tested it to make sure it compiles, although I have not verified or tested it otherwise.
*** Bug 314442 has been marked as a duplicate of this bug. ***
I can verify that this patch fixes the problem on my breezy machine.
Comment on attachment 51667 [details] [review] new patch with elijah's suggested modifications looks good pending release team approval etc.
Release team approved it; committed the patch. Thanks Brent! 2005-09-02 Brent Smith <gnome@nextreality.net> * src/place.c: (meta_window_place): Moved the call to meta_screen_get_natural_xinerama_list to earlier in function so that xineramas_list is allocated before find_first_fit is called. Fixes #315000