Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#1558 Freezes when resizing "Channel List" window

Andre Klapper

xchat-2.8.8-10.fc16.i686 (fEDORA 16)

1. Server > Channel List...
2. Resize the Window by drag and drop in the bottom right corner
3. XChat freezes

Always reproducible.

(gdb) thread apply all bt

Thread 1 (Thread 0xb776a880 (LWP 1965)):
#0 0x47428564 in g_once_init_enter (value_location=0x4763cc3c)
at /usr/include/glib-2.0/glib/gthread.h:347
#1 IA__gtk_tree_view_column_get_type () at gtktreeviewcolumn.c:164
#2 0xb750f275 in get_column_number (tree_view=<optimized out>, column=
0x8a99e28 [GtkTreeViewColumn], visible=0) at gailtreeview.c:4334
#3 0xb750f2ee in cell_info_get_index (tree_view=0x84704e8 [GtkTreeView], info=
0x91eccf0, index=0xbfaf628c) at gailtreeview.c:4139
#4 0xb750ffb2 in find_cell (index=6303, gailview=0x84aaef8 [GailTreeView])
at gailtreeview.c:4191
#5 gail_tree_view_ref_child (obj=0x84aaef8 [GailTreeView], i=6303)
at gailtreeview.c:833
#6 0x46220f7e in atk_object_ref_accessible_child (accessible=
0x84aaef8 [GailTreeView], i=6303) at atkobject.c:827
#7 0xb74b01fc in child_added_listener (signal_hint=0xbfaf6380, n_param_values=
3, param_values=0x980eb50, data=0x8446b98)
at ../../atk-adaptor/accessible-cache.c:355
#8 0x457591a3 in signal_emit_unlocked_R (node=0x843b5e0, detail=526, instance=
0x84aaef8, emission_return=0x0, instance_and_params=0x980eb50)
at gsignal.c:3238
#9 0x4576230f in g_signal_emit_valist (instance=0x84aaef8, signal_id=104,
detail=526, var_args=0xbfaf65c0 "") at gsignal.c:3003
---Type <return> to continue, or q <return> to quit---
#10 0x45762607 in g_signal_emit_by_name (instance=0x84aaef8, detailed_signal=
0xb751acf1 "children_changed::add") at gsignal.c:3097
#11 0xb751216a in model_row_inserted (tree_model=0x8aee380, path=0x9807b58,
iter=0x980a830, user_data=0x84704e8) at gailtreeview.c:2901
#12 0x472e8e69 in _gtk_marshal_VOID__BOXED_BOXED (closure=0x874df70,
return_value=0x0, n_param_values=3, param_values=0x980ead0,
invocation_hint=0xbfaf6760, marshal_data=0xb7511ff0)
at gtkmarshalers.c:1311
#13 0x45746655 in g_closure_invoke (closure=0x874df70, return_value=0x0,
n_param_values=3, param_values=0x980ead0, invocation_hint=0xbfaf6760)
at gclosure.c:774
#14 0x45759a59 in signal_emit_unlocked_R (node=0x84debe0, detail=0, instance=
0x8aee380, emission_return=0x0, instance_and_params=0x980ead0)
at gsignal.c:3342
#15 0x4576230f in g_signal_emit_valist (instance=0x8aee380, signal_id=259,
detail=0, var_args=0xbfaf6924 "X{\200\t5\b") at gsignal.c:3003
#16 0x45762474 in g_signal_emit (instance=0x8aee380, signal_id=259, detail=0)
at gsignal.c:3060
#17 0x473f57c2 in IA__gtk_tree_model_row_inserted (tree_model=0x8aee380, path=
0x9807b58, iter=0xbfaf6960) at gtktreemodel.c:1525
#18 0x0805ba5d in custom_list_append (custom_list=0x8aee380 [CustomList],
newrecord=0x94b5060) at custom-list.c:693
#19 0x08056e06 in chanlist_flush_pending (serv=0x8461ec0) at chanlist.c:195
---Type <return> to continue, or q <return> to quit---
#20 0x08056e6d in chanlist_timeout (serv=0x8461ec0) at chanlist.c:207
#21 0x4562d220 in g_timeout_dispatch (source=0x8ad43b0, callback=
0x8056e60 <chanlist_timeout>, user_data=0x8461ec0) at gmain.c:3907
#22 0x4562baff in g_main_dispatch (context=0x8414120) at gmain.c:2441
#23 g_main_context_dispatch (context=0x8414120) at gmain.c:3011
#24 0x4562c240 in g_main_context_iterate (context=0x8414120, block=1164160272,
dispatch=1, self=0x83eaeb8) at gmain.c:3089
#25 0x4562c877 in g_main_loop_run (loop=0x845cb48) at gmain.c:3297
#26 0x472e39df in IA__gtk_main () at gtkmain.c:1256
#27 0x0805fb09 in fe_main () at fe-gtk.c:290
#28 0x08054e05 in main (argc=1, argv=0xbfaf6c44) at xchat.c:1049

(gdb) list
342 gsize initialization_value);
343 #if defined (G_CAN_INLINE) || defined (__G_THREAD_C__)
344 G_INLINE_FUNC gboolean
345 g_once_init_enter (volatile gsize *value_location)
346 {
347 if G_LIKELY ((gpointer) g_atomic_pointer_get (value_location) != NULL)
348 return FALSE;
349 else
350 return g_once_init_enter_impl (value_location);
351 }

(gdb) info register
eax 0x84a21d0 139076048
ecx 0x1 1
edx 0x844d028 138727464
ebx 0x47639ff4 1197711348
esp 0xbfaf6140 0xbfaf6140
ebp 0x8a99e28 0x8a99e28
esi 0x980d700 159438592
edi 0x1 1
eip 0x47428564
0x47428564 <IA__gtk_tree_view_column_get_type+36>
eflags 0x200206 [ PF IF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51