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 315000 - crash in metacity in find_first_fit
crash in metacity in find_first_fit
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: general
2.11.x
Other All
: Urgent critical
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
: 314442 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-09-01 05:12 UTC by Brent Smith (smitten)
Modified: 2005-09-02 15:55 UTC
See Also:
GNOME target: 2.12.x
GNOME version: 2.11/2.12


Attachments
untested patch that moves the call to meta_screen_get_natural_xinerama_list to earlier (1.64 KB, patch)
2005-09-01 05:39 UTC, Brent Smith (smitten)
none Details | Review
new patch with elijah's suggested modifications (927 bytes, patch)
2005-09-01 16:53 UTC, Brent Smith (smitten)
accepted-commit_now Details | Review

Description Brent Smith (smitten) 2005-09-01 05:12:47 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

Thread 1 (Thread -1217479776 (LWP 25582))

  • #0 find_first_fit
    at place.c line 599
  • #1 meta_window_place
    at place.c line 1027
  • #2 meta_window_constrain
    at constraints.c line 1293
  • #3 meta_window_move_resize_internal
    at window.c line 2577
  • #4 meta_window_move_resize
    at window.c line 2937
  • #5 meta_window_move_resize_now
    at window.c line 2977
  • #6 meta_window_show
    at window.c line 1766
  • #7 implement_showing
    at window.c line 1347
  • #8 meta_window_calc_showing
    at window.c line 1354
  • #9 idle_calc_showing
    at window.c line 1438
  • #10 g_idle_dispatch
    at gmain.c line 3813
  • #11 g_main_dispatch
    at gmain.c line 1934
  • #12 IA__g_main_context_dispatch
    at gmain.c line 2484
  • #13 g_main_context_iterate
    at gmain.c line 2565
  • #14 IA__g_main_loop_run
    at gmain.c line 2769
  • #15 main
    at main.c line 483

                   

Other information:
This is with CVS HEAD compiled 2005-08-31
Comment 1 Brent Smith (smitten) 2005-09-01 05:22:30 UTC
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
Comment 2 Brent Smith (smitten) 2005-09-01 05:37:25 UTC
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.
Comment 3 Brent Smith (smitten) 2005-09-01 05:39:50 UTC
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 :-)
Comment 4 Kjartan Maraas 2005-09-01 11:16:11 UTC
I found this when running under valgrind too. There's a valgrind backtrace in
bug 313030
Comment 5 Elijah Newren 2005-09-01 15:49:30 UTC
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.
Comment 6 Brent Smith (smitten) 2005-09-01 16:53:51 UTC
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.
Comment 7 Elijah Newren 2005-09-01 22:29:44 UTC
*** Bug 314442 has been marked as a duplicate of this bug. ***
Comment 8 Allison Karlitskaya (desrt) 2005-09-01 22:35:10 UTC
I can verify that this patch fixes the problem on my breezy machine.
Comment 9 Havoc Pennington 2005-09-01 23:37:10 UTC
Comment on attachment 51667 [details] [review]
new patch with elijah's suggested modifications

looks good pending release team approval etc.
Comment 10 Elijah Newren 2005-09-02 15:55:27 UTC
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