Bug 10947 - Pango crash in pango_layout_line_postprocess
Summary: Pango crash in pango_layout_line_postprocess
Status: RESOLVED NOT_REPRODUCIBLE
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: General ()
Version: unspecified
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2013-03-06 14:46 UTC by Mikayla Hutchinson [MSFT]
Modified: 2015-08-25 06:32 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED NOT_REPRODUCIBLE

Description Mikayla Hutchinson [MSFT] 2013-03-06 14:46:52 UTC
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x901d8a6a __pthread_kill + 10
1   libsystem_c.dylib             	0x97bafacf pthread_kill + 101
2   libsystem_c.dylib             	0x97be64f8 abort + 168
3   mono-sgen                     	0x000a5610 mono_handle_native_sigsegv + 672
4   mono-sgen                     	0x000f48e5 mono_arch_handle_altstack_exception + 149
5   mono-sgen                     	0x000054d1 mono_sigsegv_signal_handler + 369
6   libsystem_c.dylib             	0x97b9a86b _sigtramp + 43
7   ???                           	0xffffffff 0 + 4294967295
8   mono-sgen                     	0x00005360 mono_sigill_signal_handler + 48
9   libpango-1.0.0.dylib          	0x059d794d pango_layout_line_postprocess + 189
10  libpango-1.0.0.dylib          	0x059d4894 process_line + 1012
11  libpango-1.0.0.dylib          	0x059d51d5 pango_layout_check_lines + 1269
12  libpango-1.0.0.dylib          	0x059d2aac pango_layout_get_extents_internal + 268
13  libpango-1.0.0.dylib          	0x059d2f42 pango_layout_get_extents + 114
14  libgtk-quartz-2.0.0.dylib     	0x055260b0 gtk_label_size_request + 320
15  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
16  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
17  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
18  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
19  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
20  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
21  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
22  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
23  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
24  libgtk-quartz-2.0.0.dylib     	0x0542cdd2 gtk_box_size_request + 146
25  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
26  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
27  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
28  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
29  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
30  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
31  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
32  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
33  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
34  libgtk-quartz-2.0.0.dylib     	0x0549e5f0 gtk_event_box_size_request + 112
35  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
36  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
37  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
38  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
39  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
40  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
41  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
42  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
43  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
44  libgtk-quartz-2.0.0.dylib     	0x0542cdd2 gtk_box_size_request + 146
45  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
46  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
47  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
48  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
49  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
50  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
51  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
52  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
53  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
54  libgtk-quartz-2.0.0.dylib     	0x0541e927 gtk_alignment_size_request + 135
55  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
56  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
57  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
58  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
59  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
60  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
61  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
62  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
63  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
64  libgtk-quartz-2.0.0.dylib     	0x0549e5f0 gtk_event_box_size_request + 112
65  libgtksharpglue-2.so          	0x0cbab0d0 gtksharp_widget_base_size_request + 80 (generated.c:4829)
66  ???                           	0x0cbe3900 0 + 213793024
67  ???                           	0x0cbe36c8 0 + 213792456
68  ???                           	0x147771dc 0 + 343372252
69  ???                           	0x0cbe32b3 0 + 213791411
70  ???                           	0x0cb84df0 0 + 213405168
71  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
72  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
73  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
74  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
75  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
76  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
77  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
78  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
79  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
80  libgtk-quartz-2.0.0.dylib     	0x0541e927 gtk_alignment_size_request + 135
81  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
82  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
83  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
84  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
85  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
86  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
87  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
88  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
89  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
90  libgtk-quartz-2.0.0.dylib     	0x0542cdd2 gtk_box_size_request + 146
91  libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
92  libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
93  libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
94  libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
95  libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
96  libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
97  libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
98  libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
99  libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
100 libgtk-quartz-2.0.0.dylib     	0x0541e927 gtk_alignment_size_request + 135
101 libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
102 libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
103 libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
104 libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
105 libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
106 libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
107 libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
108 libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
109 libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
110 libgtk-quartz-2.0.0.dylib     	0x0549e5f0 gtk_event_box_size_request + 112
111 libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
112 libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
113 libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
114 libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
115 libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
116 libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
117 libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
118 libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
119 libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
120 libgtk-quartz-2.0.0.dylib     	0x0542cdd2 gtk_box_size_request + 146
121 libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
122 libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
123 libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
124 libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
125 libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
126 libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
127 libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
128 libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
129 libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
130 libgtk-quartz-2.0.0.dylib     	0x0542cdd2 gtk_box_size_request + 146
131 libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
132 libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
133 libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
134 libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
135 libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
136 libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
137 libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
138 libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
139 libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
140 libgtk-quartz-2.0.0.dylib     	0x057086f6 gtk_window_size_request + 118
141 libgtksharpglue-2.so          	0x0cbab0d0 gtksharp_widget_base_size_request + 80 (generated.c:4829)
142 ???                           	0x0cbe3900 0 + 213793024
143 ???                           	0x0cbe36c8 0 + 213792456
144 ???                           	0x0cbe35c4 0 + 213792196
145 ???                           	0x0cbe32b3 0 + 213791411
146 ???                           	0x0cb84df0 0 + 213405168
147 libgobject-2.0.0.dylib        	0x061007d9 g_cclosure_marshal_VOID__BOXED + 233
148 libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
149 libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
150 libgobject-2.0.0.dylib        	0x0611d620 signal_emit_unlocked_R + 1616
151 libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
152 libgobject-2.0.0.dylib        	0x0611cf8f g_signal_emit_by_name + 463
153 libgtk-quartz-2.0.0.dylib     	0x055e5f69 do_size_request + 105
154 libgtk-quartz-2.0.0.dylib     	0x055e64b9 _gtk_size_group_compute_requisition + 121
155 libgtk-quartz-2.0.0.dylib     	0x056ec748 gtk_widget_size_request + 184
156 libgtk-quartz-2.0.0.dylib     	0x05709e76 gtk_window_compute_configure_request + 86
157 libgtk-quartz-2.0.0.dylib     	0x0570a481 gtk_window_move_resize + 97
158 libgtk-quartz-2.0.0.dylib     	0x057093c7 gtk_window_check_resize + 39
159 libgobject-2.0.0.dylib        	0x060ff9df g_cclosure_marshal_VOID__VOID + 223
160 libgobject-2.0.0.dylib        	0x060fd9ce g_type_class_meta_marshal + 142
161 libgobject-2.0.0.dylib        	0x060fd5bf g_closure_invoke + 511
162 libgobject-2.0.0.dylib        	0x0611de94 signal_emit_unlocked_R + 3780
163 libgobject-2.0.0.dylib        	0x0611c8e6 g_signal_emit_valist + 2662
164 libgobject-2.0.0.dylib        	0x0611cdb1 g_signal_emit + 65
165 libgtk-quartz-2.0.0.dylib     	0x0547a64f gtk_container_check_resize + 191
166 libgtk-quartz-2.0.0.dylib     	0x0547a2ff gtk_container_idle_sizer + 95
167 libgdk-quartz-2.0.0.dylib     	0x052307be gdk_threads_dispatch + 94
168 libglib-2.0.0.dylib           	0x05114830 g_idle_dispatch + 96
169 libglib-2.0.0.dylib           	0x0510ed61 g_main_dispatch + 513
170 libglib-2.0.0.dylib           	0x0511065b g_main_context_dispatch + 155
171 libglib-2.0.0.dylib           	0x05110c8a g_main_context_iterate + 1466
172 libglib-2.0.0.dylib           	0x051115cd g_main_loop_run + 1037
173 libgtk-quartz-2.0.0.dylib     	0x05536f20 gtk_main + 240
174 ???                           	0x15637f88 0 + 358842248
175 ???                           	0x15637f4c 0 + 358842188
176 ???                           	0x15637f2c 0 + 358842156
177 ???                           	0x0348bba0 0 + 55098272
178 ???                           	0x007cd018 0 + 8179736
179 ???                           	0x007ccdec 0 + 8179180
180 ???                           	0x007cceb2 0 + 8179378
181 mono-sgen                     	0x0000ead5 mono_jit_runtime_invoke + 741
182 mono-sgen                     	0x0020b5da mono_runtime_invoke + 170
183 mono-sgen                     	0x0020e297 mono_runtime_exec_main + 631
184 mono-sgen                     	0x0020d4ac mono_runtime_run_main + 940
185 mono-sgen                     	0x00076005 mono_jit_exec + 149
186 mono-sgen                     	0x00078619 mono_main + 9737
187 mono-sgen                     	0x00002629 main + 553
188 mono-sgen                     	0x000023f5 start + 53
Comment 1 Kristian Rietveld (inactive) 2013-03-09 11:19:57 UTC
It looks like Pango crashes in adjust_line_letter_spacing(), which is called from pango_layout_line_postprocess(), but of which the frame is unfortunately missing from the stack trace.

A crash could occur when the linked list of runs is corrupted (which I consider unlikely) or perhaps if it attempts to access an empty glyph string (unsure this can happen) ?

I guess you don't happen to know if any special text was being rendered (special characters?) and I guess this crash is not repeatedly reproducible?
Comment 2 Mikayla Hutchinson [MSFT] 2013-03-09 15:41:11 UTC
Nope, sorry. If it's not obvious from the trace, don't worry about it until we see it again.