Description of problem: When using features "Open file" or "Save page as" in Mozilla 1.7.12-5 segfaults immediately after drawing the file select box. But it doesn't get far enough to show any files. gtk2-2.8.17 glib2-2.10.2-2 ( I haven't tried does downgrading these libs make any difference) Version-Release number of selected component (if applicable): 1.12.1-2 How reproducible: always Steps to Reproduce: 1. start up mozilla 2. select File --> Open file 3. Actual results: segfault Expected results: open file without segfault Additional info: IA-32 system... older pango version worked , maybe 1.11.5 or 1.12.0. whether I have done export MOZ_DISABLE_PANGO=1 or not does not make any difference. #0 0x004e211c in pango_font_get_metrics () from /usr/lib/libpango-1.0.so.0 0x004e2110 <pango_font_get_metrics+0>: push %ebp 0x004e2111 <pango_font_get_metrics+1>: mov %esp,%ebp 0x004e2113 <pango_font_get_metrics+3>: sub $0x8,%esp 0x004e2116 <pango_font_get_metrics+6>: mov 0x8(%ebp),%edx 0x004e2119 <pango_font_get_metrics+9>: mov 0xc(%ebp),%eax 0x004e211c <pango_font_get_metrics+12>: mov (%edx),%ecx 0x004e211e <pango_font_get_metrics+14>: mov %eax,0x4(%esp) 0x004e2122 <pango_font_get_metrics+18>: mov %edx,(%esp) 0x004e2125 <pango_font_get_metrics+21>: call *0x54(%ecx) 0x004e2128 <pango_font_get_metrics+24>: leave (gdb) p $ecx $4 = 393217 (gdb) p $edx $5 = 0 #0 0x004e211c in pango_font_get_metrics () from /usr/lib/libpango-1.0.so.0 #1 0x004f6489 in pango_renderer_draw_layout_line () from /usr/lib/libpango-1.0.so.0 #2 0x004f699a in pango_renderer_draw_layout () from /usr/lib/libpango-1.0.so.0 #3 0x00467822 in gdk_draw_layout_with_colors () from /usr/lib/libgdk-x11-2.0.so.0 #4 0x00467a05 in gdk_draw_layout () from /usr/lib/libgdk-x11-2.0.so.0 #5 0x03162475 in gtk_style_attach () from /usr/lib/libgtk-x11-2.0.so.0 #6 0x0315e169 in gtk_paint_layout () from /usr/lib/libgtk-x11-2.0.so.0 #7 0x030f92bc in gtk_label_new () from /usr/lib/libgtk-x11-2.0.so.0 #8 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #9 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #10 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #11 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #12 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #13 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #14 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #15 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #16 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #17 0x0303e601 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #18 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #21 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #22 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #23 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #24 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #25 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #26 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #27 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #28 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #29 0x0303aa7f in gtk_button_box_set_child_size () from /usr/lib/libgtk-x11-2.0.so.0 #30 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #31 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #32 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #33 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #34 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #35 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #36 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #37 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #38 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #39 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #40 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #41 0x0303aa7f in gtk_button_box_set_child_size () from /usr/lib/libgtk-x11-2.0.so.0 #42 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #43 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #44 0x0303ecf1 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #45 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #46 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #47 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #48 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #49 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #50 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #51 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #52 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #53 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #54 0x0303e5d0 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #55 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #56 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #57 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #58 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #59 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #60 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #61 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #62 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #63 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #64 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #65 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #66 0x0303e5d0 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #67 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #68 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #69 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #70 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #71 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #72 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #73 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #74 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #75 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #76 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #77 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #78 0x0312b7b7 in gtk_option_menu_new () from /usr/lib/libgtk-x11-2.0.so.0 #79 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #80 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #81 0x0312e15f in gtk_paned_add1 () from /usr/lib/libgtk-x11-2.0.so.0 #82 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #83 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #84 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #85 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #86 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #87 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #88 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #89 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #90 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #91 0x0303e5d0 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #92 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #93 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #94 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #95 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #96 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #97 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #98 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #99 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #100 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #101 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #102 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #103 0x0303e5d0 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #104 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #105 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #106 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #107 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #108 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #109 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #110 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #111 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #112 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #113 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #114 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #115 0x0303e5d0 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #116 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #117 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #118 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #119 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #120 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #121 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #122 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #123 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #124 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #125 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #126 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #127 0x0303e5d0 in gtk_box_pack_start_defaults () from /usr/lib/libgtk-x11-2.0.so.0 #128 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #129 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #130 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #131 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #132 0x007cc05e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #133 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #134 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #135 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #136 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #137 0x03078827 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #138 0x03078891 in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0 #139 0x0303aa7f in gtk_button_box_set_child_size () from /usr/lib/libgtk-x11-2.0.so.0 #140 0x0307925b in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #141 0x0307934f in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #142 0x0320c761 in gtk_window_new () from /usr/lib/libgtk-x11-2.0.so.0 #143 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #144 0x007ca7a9 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0 #145 0x007cbf7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #146 0x007dd083 in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #147 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #148 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #149 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #150 0x031073f4 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #151 0x004764bf in gdk_window_is_viewable () from /usr/lib/libgdk-x11-2.0.so.0 #152 0x00476677 in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0 #153 0x004766f5 in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0 #154 0x00965761 in g_list_remove_link () from /usr/lib/libglib-2.0.so.0 #155 0x0096711d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #156 0x0096a3af in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #157 0x0096a759 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #158 0x0308aa4b in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0 #159 0x00918f40 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libwidget_gtk2.so #160 0x00eb7699 in XPTC_InvokeByIndex () from /usr/lib/mozilla-1.7.12/libxpcom.so #161 0x00739315 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libxpconnect.so #162 0x0073f07e in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libxpconnect.so #163 0x00387b74 in js_Invoke () from /usr/lib/mozilla-1.7.12/libmozjs.so #164 0x00386301 in js_Interpret () from /usr/lib/mozilla-1.7.12/libmozjs.so #165 0x00387c8a in js_Invoke () from /usr/lib/mozilla-1.7.12/libmozjs.so #166 0x0037b605 in js_InternalInvoke () from /usr/lib/mozilla-1.7.12/libmozjs.so #167 0x003520d9 in JS_CallFunctionValue () from /usr/lib/mozilla-1.7.12/libmozjs.so #168 0x01481fdd in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #169 0x014c0c30 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #170 0x0130c01a in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #171 0x0130d11c in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #172 0x014ecdad in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #173 0x014ecd0d in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #174 0x01169d00 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #175 0x0123f707 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #176 0x0123ff47 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #177 0x0116b89e in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #178 0x0116e076 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #179 0x0147aa8a in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #180 0x0147c5c2 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #181 0x014717d6 in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libgklayout.so #182 0x0090f2be in NSGetModule () from /usr/lib/mozilla-1.7.12/components/libwidget_gtk2.so #183 0x0090833c in ?? () from /usr/lib/mozilla-1.7.12/components/libwidget_gtk2.so #184 0x009083bb in ?? () from /usr/lib/mozilla-1.7.12/components/libwidget_gtk2.so #185 0x0310c5ae in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #186 0x007cbf7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #187 0x007dca3d in g_signal_override_class_closure () from /usr/lib/libgobject-2.0.so.0 #188 0x007ddd0f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #189 0x007de109 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #190 0x031f7868 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #191 0x03105f83 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #192 0x031071d7 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #193 0x0048b88a in gdk_add_client_message_filter () from /usr/lib/libgdk-x11-2.0.so.0 #194 0x0096711d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #195 0x0096a3af in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #196 0x0096a759 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #197 0x03107654 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #198 0x0090d922 in ?? () from /usr/lib/mozilla-1.7.12/components/libwidget_gtk2.so #199 0x00772dd4 in ?? () from /usr/lib/mozilla-1.7.12/components/libnsappshell.so #200 0x0804e484 in ?? () #201 0x0804f2e6 in ?? () #202 0x0058d6b4 in __libc_start_main () from /lib/libc.so.6 #203 0x0804a6e1 in ?? ()
looks like when I do chmod 644 /etc/pango/i386-redhat-linux-gnu/pango.modules it does not segfault anymore. (yes, I have forgotten to do chmod before, too.) maybe a script in pango rpm should make this kind of files readable to all (after running pango-querymodules). also, segfaulting is not very user-friendly.
Reassigning pango bugs to Behdad.
*** This bug has been marked as a duplicate of 185419 ***