GNOME Bugzilla – Bug 395326
Gedit crashed no open text documents
Last modified: 2007-01-13 21:55:38 UTC
Steps to reproduce: This bug is forwarded from ubuntu bug tracking system. https://launchpad.net/ubuntu/+source/gedit/+bug/78758 I had a few text windows open. Then I closed them. I think I clicked in the window a few times. From what I recall I switched focus to the desktop. Then the application crashed. Something along this line was what caused the crash. Stack trace: #0 0xb7903e73 in gtk_notebook_draw_focus (widget=0x826e838, event=0x825fda8) at gtknotebook.c:2971 in gtknotebook.c #0 0xb7903e73 in gtk_notebook_draw_focus (widget=0x826e838, event=0x825fda8) at gtknotebook.c:2971 No locals. #1 0xb790426a in gtk_notebook_expose (widget=0x826e838, event=0x825fda8) at gtknotebook.c:2026 page = <value optimized out> pages = <value optimized out> notebook = <value optimized out> __PRETTY_FUNCTION__ = "gtk_notebook_expose" #2 0xb78e61f0 in _gtk_marshal_BOOLEAN__BOXED (closure=0x8117438, return_value=0xbfa544e0, n_param_values=2, param_values=0xbfa545bc, invocation_hint=0xbfa544cc, marshal_data=0xb7903f50) at gtkmarshalers.c:84 data1 = (gpointer) 0x826e838 data2 = <value optimized out> v_return = <value optimized out> __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED" #3 0xb7522e49 in g_type_class_meta_marshal (closure=0x8117438, return_value=0xbfa544e0, n_param_values=2, param_values=0xbfa545bc, invocation_hint=0xbfa544cc, marshal_data=0xc8) at gclosure.c:567 callback = <value optimized out> #4 0xb752470d in IA__g_closure_invoke (closure=0x8117438, return_value=0xbfa544e0, n_param_values=2, param_values=0xbfa545bc, invocation_hint=0xbfa544cc) at gclosure.c:490 marshal = (GClosureMarshal) 0xb7522e00 <g_type_class_meta_marshal> marshal_data = (gpointer) 0xc8 __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #5 0xb7535733 in signal_emit_unlocked_R (node=0x81173d8, detail=0, instance=0x826e838, emission_return=0xbfa5477c, instance_and_params=0xbfa545bc) at gsignal.c:2478 tmp = <value optimized out> handler = (Handler *) 0xbfa54498 accumulator = (SignalAccumulator *) 0x8117560 emission = {next = 0xbfa54aa4, instance = 0x826e838, ihint = { signal_id = 50, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 136746624} class_closure = (GClosure *) 0x8117438 handler_list = (Handler *) 0x0 return_accu = (GValue *) 0xbfa544e0 accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 50 max_sequential_handler_number = 2450 return_value_altered = 0 #6 0xb75363cf in IA__g_signal_emit_valist (instance=0x826e838, signal_id=50, detail=0, var_args=<value optimized out>) at gsignal.c:2209 _flags = <value optimized out> _vtable = <value optimized out> _cvalues = {{v_int = -1079687144, v_long = -1079687144, v_int64 = 3215280152, v_double = 1.5885594648584214e-314, v_pointer = 0xbfa54818}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_long = 0, v_int64 = 0, v_double = 0, v_pointer = 0x0}} _lcopy_format = <value optimized out> _n_values = <value optimized out> return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} error = <value optimized out> instance_and_params = (GValue *) 0xbfa545bc stack_values = {{g_type = 136746624, data = {{v_int = 136767544, v_uint = 136767544, v_long = 136767544, v_ulong = 136767544, v_int64 = 136767544, v_uint64 = 136767544, v_float = 5.02267798e-34, v_double = 6.7572144956481104e-316, v_pointer = 0x826e838}, { v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, { g_type = 135360136, data = {{v_int = 136707496, v_uint = 136707496, v_long = 136707496, v_ulong = 136707496, v_int64 = 136707496, v_uint64 = 136707496, v_float = 4.99510529e-34, v_double = 6.7542477302579629e-316, v_pointer = 0x825fda8}, { v_int = 134217728, v_uint = 134217728, v_long = 134217728, v_ulong = 134217728, v_int64 = 134217728, v_uint64 = 134217728, v_float = 3.85185989e-34, v_double = 6.631236846766476e-316, v_pointer = 0x8000000}}}, {g_type = 1069128089, data = {{ v_int = -1220005552, v_uint = 3074961744, v_long = -1220005552, v_ulong = 3074961744, v_int64 = 3074961744, v_uint64 = 3074961744, v_float = -1.19324104e-05, v_double = 1.5192329599864858e-314, v_pointer = 0xb7483150}, {v_int = 1, v_uint = 1, v_long = 1, v_ulong = 1, v_int64 = 1, v_uint64 = 1, v_float = 1.40129846e-45, v_double = 4.9406564584124654e-324, v_pointer = 0x1}}}, {g_type = 0, data = {{v_int = 1072693248, v_uint = 1072693248, v_long = 1072693248, v_ulong = 1072693248, v_int64 = 1072693248, v_uint64 = 1072693248, v_float = 1.875, v_double = 5.2998088236266445e-315, v_pointer = 0x3ff00000}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 4607182418800017408, v_uint64 = 4607182418800017408, v_float = 0, v_double = 1, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 4639464080191520768, v_uint64 = 4639464080191520768, v_float = 0, v_double = 149.5, v_pointer = 0x0}}}, {g_type = 0, data = {{v_int = -1065891840, v_uint = 3229075456, v_long = -1065891840, v_ulong = 3229075456, v_int64 = 11819010048, v_uint64 = 11819010048, v_float = -3.87158203, v_double = 5.8393668325693023e-314, v_pointer = 0xc077c800}, {v_int = -1210133423, v_uint = 3084833873, v_long = -1210133423, v_ulong = 3084833873, v_int64 = 3084833873, v_uint64 = 3084833873, v_float = -2.65633298e-05, v_double = 1.5241104397766989e-314, v_pointer = 0xb7ded451}}}, { g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = -5236906035498713088, v_uint64 = 13209838038210838528, v_float = 0, v_double = -3.3671149414428003e-42, v_pointer = 0x0}, { v_int = -1213295786, v_uint = 3081671510, v_long = -1213295786, v_ulong = 3081671510, v_int64 = -5211065718162943146, v_uint64 = 13235678355546608470, v_float = -2.0811025e-05, v_double = -1.7549500410371147e-40, v_pointer = 0xb7ae9356}}}, { g_type = 885837005, data = {{v_int = -1219238044, v_uint = 3075729252, v_long = -1219238044, v_ulong = 3075729252, v_int64 = -5197461847345469596, v_uint64 = 13249282226364082020, v_float = -1.26304549e-05, v_double = -1.4191431007212751e-39, v_pointer = 0xb753e764}, {v_int = 136309428, v_uint = 136309428, v_long = 136309428, v_ulong = 136309428, v_int64 = 13021211316, v_uint64 = 13021211316, v_float = 4.81232143e-34, v_double = 6.4333331784748878e-314, v_pointer = 0x81feab4}}}, { g_type = 3075731668, data = {{v_int = 135173200, v_uint = 135173200, v_long = 135173200, v_ulong = 135173200, v_int64 = 4430140496, v_uint64 = 4430140496, v_float = 4.29059111e-34, v_double = 2.1887802253237003e-314, v_pointer = 0x80e9450}, { v_int = -1079687544, v_uint = 3215279752, v_long = -1079687544, v_ulong = 3215279752, v_int64 = -5244714248467822968, v_uint64 = 13202029825241728648, v_float = -1.29121494, v_double = -1.0327882706804669e-42, v_pointer = 0xbfa54688}}}, { g_type = 3215279840, data = {{v_int = 141429808, v_uint = 141429808, v_long = 141429808, v_ulong = 141429808, v_int64 = -5243658084723848144, v_uint64 = 13203085988985703472, v_float = 7.16348461e-34, v_double = -1.2010448624162328e-42, v_pointer = 0x86e0c30}, {v_int = 141429808, v_uint = 141429808, v_long = 141429808, v_ulong = 141429808, v_int64 = 580564473437097008, v_uint64 = 580564473437097008, v_float = 7.16348461e-34, v_double = 7.2353924760135088e-270, v_pointer = 0x86e0c30}}}, {g_type = 141434752, data = {{ v_int = -1079687416, v_uint = 3215279880, v_long = -1079687416, v_ulong = 3215279880, v_int64 = -5218134323665484024, v_uint64 = 13228609750044067592, v_float = -1.2912302, v_double = -6.1595245336712359e-41, v_pointer = 0xbfa54708}, { v_int = -1079687456, v_uint = 3215279840, v_long = -1079687456, v_ulong = 3215279840, v_int64 = 607434960145827552, v_uint64 = 607434960145827552, v_float = -1.29122543, v_double = 4.5493549709306079e-268, v_pointer = 0xbfa546e0}}}, { g_type = 3074962072, data = {{v_int = -1079687401, v_uint = 3215279895, v_long = -1079687401, v_ulong = 3215279895, v_int64 = -5239883909203409129, v_uint64 = 13206860164506142487, v_float = -1.29123199, v_double = -2.1696817959249545e-42, v_pointer = 0xbfa54717}, {v_int = -1220005544, v_uint = 3074961752, v_long = -1220005544, v_ulong = 3074961752, v_int64 = -5239883943703465640, v_uint64 = 13206860130006085976, v_float = -1.19324177e-05, v_double = -2.1696708035727622e-42, v_pointer = 0xb7483158}}}, {g_type = 3075731668, data = {{ v_int = -1079687496, v_uint = 3215279800, v_long = -1079687496, v_ulong = 3215279800, v_int64 = -5197457500699015496, v_uint64 = 13249286573010536120, v_float = -1.29122066, v_double = -1.4198521805094688e-39, v_pointer = 0xbfa546b8}, { v_int = 169, v_uint = 169, v_long = 169, v_ulong = 169, v_int64 = -5237079363198910295, v_uint64 = 13209664710510641321, v_float = 2.3681944e-43, v_double = -3.2566641585790559e-42, v_pointer = 0xa9}}}, {g_type = 3074961744, data = {{v_int = 336, v_uint = 336, v_long = 336, v_ulong = 336, v_int64 = 336, v_uint64 = 336, v_float = 4.70836284e-43, v_double = 1.6600605700265884e-321, v_pointer = 0x150}, {v_int = 6, v_uint = 6, v_long = 6, v_ulong = 6, v_int64 = 6, v_uint64 = 6, v_float = 8.40779079e-45, v_double = 2.9643938750474793e-323, v_pointer = 0x6}}}, {g_type = 3, data = {{v_int = -1079687416, v_uint = 3215279880, v_long = -1079687416, v_ulong = 3215279880, v_int64 = -5237008523088017656, v_uint64 = 13209735550621533960, v_float = -1.2912302, v_double = -3.3018060816377715e-42, v_pointer = 0xbfa54708}, {v_int = 136767548, v_uint = 136767548, v_long = 136767548, v_ulong = 136767548, v_int64 = 13021669436, v_uint64 = 13021669436, v_float = 5.02267981e-34, v_double = 6.4335595198285606e-314, v_pointer = 0x826e83c}}}, { g_type = 2, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 587412145814110208, v_uint64 = 587412145814110208, v_float = 0, v_double = 2.1680297804806562e-269, v_pointer = 0x0}}}} free_me = (GValue *) 0x0 signal_return_type = 20 param_values = (GValue *) 0xbfa545d0 node = (SignalNode *) 0x81173d8 i = 1 n_params = 1 __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" #7 0xb75367c9 in IA__g_signal_emit (instance=0x826e838, signal_id=50, detail=0) at gsignal.c:2243 var_args = 0xbfa547fc "¨ý%\b\030H¥¿¨ý%\b8è&\b\217é\237·8è&\bPô\020\b" #8 0xb79fa598 in gtk_widget_event_internal (widget=0x826e838, event=0x825fda8) at gtkwidget.c:3915 signal_num = <value optimized out> return_val = 0 #9 0xb784fc47 in IA__gtk_container_propagate_expose (container=0x8266968, child=0x826e838, event=0x82602a0) at gtkcontainer.c:2461 child_event = (GdkEvent *) 0x825fda8 __PRETTY_FUNCTION__ = "IA__gtk_container_propagate_expose" #10 0xb784fcb1 in gtk_container_expose_child (child=0x826e838, client_data=0xbfa548e4) at gtkcontainer.c:2349 No locals. #11 0xb790a0d7 in gtk_paned_forall (container=0x8266968, include_internals=1, callback=0xb784fc90 <gtk_container_expose_child>, callback_data=0xbfa548e4) at gtkpaned.c:1094 __PRETTY_FUNCTION__ = "gtk_paned_forall" #12 0xb785069b in IA__gtk_container_forall (container=0x8266968, callback=0xb784fc90 <gtk_container_expose_child>, callback_data=0xbfa548e4) at gtkcontainer.c:1261 __PRETTY_FUNCTION__ = "IA__gtk_container_forall" #13 0xb785078f in gtk_container_expose (widget=0x8266968, event=0x82602a0) at gtkcontainer.c:2372 data = {container = 0x8266968, event = 0x82602a0} __PRETTY_FUNCTION__ = "gtk_container_expose" #14 0xb790cb5f in gtk_paned_expose (widget=0x8266968, event=0x82602a0) at gtkpaned.c:747 No locals. #15 0xb78e61f0 in _gtk_marshal_BOOLEAN__BOXED (closure=0x8117438, return_value=0xbfa54ac0, n_param_values=2, param_values=0xbfa54b9c, invocation_hint=0xbfa54aac, marshal_data=0xb790cb20) at gtkmarshalers.c:84 data1 = (gpointer) 0x8266968 data2 = <value optimized out> v_return = <value optimized out> __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED" #16 0xb7522e49 in g_type_class_meta_marshal (closure=0x8117438, return_value=0xbfa54ac0, n_param_values=2, param_values=0xbfa54b9c, invocation_hint=0xbfa54aac, marshal_data=0xc8) at gclosure.c:567 callback = <value optimized out> #17 0xb752470d in IA__g_closure_invoke (closure=0x8117438, return_value=0xbfa54ac0, n_param_values=2, param_values=0xbfa54b9c, invocation_hint=0xbfa54aac) at gclosure.c:490 marshal = (GClosureMarshal) 0xb7522e00 <g_type_class_meta_marshal> marshal_data = (gpointer) 0xc8 __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #18 0xb7535733 in signal_emit_unlocked_R (node=0x81173d8, detail=0, instance=0x8266968, emission_return=0xbfa54d5c, instance_and_params=0xbfa54b9c) at gsignal.c:2478 tmp = <value optimized out> handler = (Handler *) 0xbfa54a78 accumulator = (SignalAccumulator *) 0x8117560 emission = {next = 0xbfa55084, instance = 0x8266968, ihint = { signal_id = 50, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 136745808} class_closure = (GClosure *) 0x8117438 handler_list = (Handler *) 0x0 return_accu = (GValue *) 0xbfa54ac0 accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 50 max_sequential_handler_number = 2450 return_value_altered = 0 Other information:
which version of gtk do you have?
(In reply to comment #1) > which version of gtk do you have? > 2.10.7
Thanks. That's very recent so it's probable that the issue is still present in gtk. Moving to gtk and cc'ing Garnacho since he is the one who hacked on GtkNotebook recently.
It should be fixed by revision 16967 (28-Dec-2006).
Pascal: he said he has gtk 2.10.7 which has been released last week and should include the fix you mention. Reopening.
Sorry I did not write it but I checked and 2.10.7 does not include it (I don't know why). In 2.10.7 the test is after dereferencing the pointer.
Actually it is fixed in trunk but not in the 2.10 branch
Do you mean that the fix is only in svn/trunk? should it be applied tp the 2-10 branch?
ah, ok... mid air collision :)
Can we identify the fix ? Carlos ?
The fix is the following part of http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtknotebook.c?p2=%2Ftrunk%2Fgtk%2Fgtknotebook.c&p1=trunk%2Fgtk%2Fgtknotebook.c&r1=16967&r2=16966&rev=16967&view=diff&makepatch=1&diff_format=u @@ -2975,8 +2983,8 @@ GtkNotebook *notebook = GTK_NOTEBOOK (widget); if (GTK_WIDGET_HAS_FOCUS (widget) && GTK_WIDGET_DRAWABLE (widget) && - notebook->cur_page->tab_label->window == event->window && - notebook->show_tabs && notebook->cur_page) + notebook->show_tabs && notebook->cur_page && + notebook->cur_page->tab_label->window == event->window) { GtkNotebookPage *page; GdkRectangle area;
Thats fine to commit to the branch, if anybody wants to beat me to it.
Done