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 311819 - Metacity crashes on certain windows
Metacity crashes on certain windows
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: general
2.11.x
Other All
: High critical
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
: 311707 311893 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-07-28 05:27 UTC by Joe Marcus Clarke
Modified: 2005-07-29 08:00 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12


Attachments
Metacity debug output when crash occurs (240.62 KB, application/octet-stream)
2005-07-28 05:27 UTC, Joe Marcus Clarke
  Details
Another debug output (154.93 KB, text/plain)
2005-07-28 11:33 UTC, Michaël Arnauts
  Details
Remove unsafe and overly-verbose debugging spew (998 bytes, patch)
2005-07-28 16:49 UTC, Elijah Newren
committed Details | Review

Description Joe Marcus Clarke 2005-07-28 05:27:07 UTC
Steps to reproduce:
1. Close all windows
2. Launch About GNOME
3. Witness metacity crash


Stack trace:
  • #0 meta_rectangle_intersect
    at display.c line 4303
  • #0 meta_rectangle_intersect
    at display.c line 4303
  • #1 avoid_being_obscured_as_second_modal_dialog
    at place.c line 373
  • #2 meta_window_place
    at place.c line 813
  • #3 meta_window_constrain
    at constraints.c line 1293
  • #4 meta_window_move_resize_internal
    at window.c line 2577
  • #5 meta_window_move_resize_now
    at window.c line 2977
  • #6 implement_showing
    at window.c line 1766
  • #7 idle_calc_showing
    at window.c line 1438
  • #8 g_idle_dispatch
    at gmain.c line 3813
  • #9 IA__g_main_context_dispatch
    at gmain.c line 1934
  • #10 g_main_context_iterate
    at gmain.c line 2565
  • #11 IA__g_main_loop_run
    at gmain.c line 2769
  • #12 main
    at main.c line 483
  • #0 meta_rectangle_intersect
    at display.c line 4303
  • #1 avoid_being_obscured_as_second_modal_dialog
    at place.c line 373
  • #2 meta_window_place
    at place.c line 813
  • #3 meta_window_constrain
    at constraints.c line 1293
  • #4 meta_window_move_resize_internal
    at window.c line 2577
  • #5 meta_window_move_resize_now
    at window.c line 2977
  • #6 implement_showing
    at window.c line 1766
  • #7 idle_calc_showing
    at window.c line 1438
  • #8 g_idle_dispatch
    at gmain.c line 3813
  • #9 IA__g_main_context_dispatch
    at gmain.c line 1934
  • #10 g_main_context_iterate
    at gmain.c line 2565
  • #11 IA__g_main_loop_run
    at gmain.c line 2769
  • #12 main
    at main.c line 483



Other information:
Attached is the output of metacity with METACITY_VERBOSE and METACITY_DEBUG set
when this crash occurred.
Comment 1 Joe Marcus Clarke 2005-07-28 05:27:57 UTC
Created attachment 49862 [details]
Metacity debug output when crash occurs
Comment 2 Teppo Turtiainen 2005-07-28 05:42:42 UTC
According to simple-dup-finder this is a unique stack trace.
Comment 3 Michaël Arnauts 2005-07-28 11:33:49 UTC
Created attachment 49874 [details]
Another debug output

I also see this crash when I open gaim

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 17868)

  • #0 meta_rectangle_intersect
  • #1 meta_accel_label_set_accelerator
  • #2 meta_window_place
  • #3 meta_window_constrain
  • #4 meta_window_activate
  • #5 meta_window_move_resize
  • #6 meta_window_move_resize_now
  • #7 meta_window_queue_calc_showing
  • #8 meta_window_should_be_showing
  • #9 meta_window_calc_showing
  • #10 meta_window_calc_showing
  • #11 g_idle_dispatch
    at gmain.c line 3813
  • #12 IA__g_main_context_dispatch
    at gmain.c line 1934
  • #13 g_main_context_iterate
    at gmain.c line 2565
  • #14 IA__g_main_loop_run
    at gmain.c line 2769
  • #15 main

Comment 4 Havoc Pennington 2005-07-28 13:36:26 UTC
Elijah, looks like this is from that recent patch.
Comment 5 Elijah Newren 2005-07-28 13:54:19 UTC
Micahel's stack trace is different (though maybe just corrupted?), but yeah,
Marcus' crash looks like it's clearly my fault.  I think I know the problem, but
I'll have to wait a few hours to take a closer look...
Comment 6 Elijah Newren 2005-07-28 16:49:18 UTC
Created attachment 49891 [details] [review]
Remove unsafe and overly-verbose debugging spew
Comment 7 Elijah Newren 2005-07-28 16:50:27 UTC
So, um, I originally didn't mean to put that debugging information in
avoid_being_obscured_as_second_modal_dialog() into the final patch.  The if
statement above was careful to order statements correctly to avoid a crash.  The
debugging stuff was just to help me verify everything was correct before
submitting the patch.  Apparently, when I was cleaning it all up to submit it, I
for some reason decided to leave the debugging info there anyway but forgot to
check that all the statements were valid...

I don't think that debugging information is going to help much but it'd add lots
of extra spew so let's just nuke it.

Oh, and it's easier to reproduce than closing all windows--just enter show
desktop mode first and then launch the dialog.  Marcus, Michaël: could you
verify that this fixes it for you?  I'm pretty certain that this nails Marcus'
bug, but Michaël's stack trace is busted--meta_window_place doesn't call
meta_accel_label_set_accelerator which doesn't call meta_rectangle_intersect.
Comment 8 Joe Marcus Clarke 2005-07-28 17:01:18 UTC
Of course, the patch solves the problem.  Thanks.
Comment 9 Gustavo Carneiro 2005-07-28 20:25:57 UTC
*** Bug 311893 has been marked as a duplicate of this bug. ***
Comment 10 Sebastien Bacher 2005-07-29 08:00:12 UTC
*** Bug 311707 has been marked as a duplicate of this bug. ***