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 395326 - Gedit crashed no open text documents
Gedit crashed no open text documents
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkNotebook
2.10.x
Other All
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2007-01-11 09:18 UTC by ville
Modified: 2007-01-13 21:55 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description ville 2007-01-11 09:18:50 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:
Comment 1 Paolo Borelli 2007-01-11 09:35:18 UTC
which version of gtk do you have?
Comment 2 ville 2007-01-11 10:09:43 UTC
(In reply to comment #1)
> which version of gtk do you have?
> 

2.10.7
Comment 3 Paolo Borelli 2007-01-11 11:21:17 UTC
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.
Comment 4 Pascal Terjan 2007-01-13 15:43:20 UTC
It should be fixed by revision 16967 (28-Dec-2006).
Comment 5 Paolo Borelli 2007-01-13 15:50:41 UTC
Pascal: he said he has gtk 2.10.7 which has been released last week and should include the fix you mention. Reopening.
Comment 6 Pascal Terjan 2007-01-13 15:52:31 UTC
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.
Comment 7 Pascal Terjan 2007-01-13 15:55:45 UTC
Actually it is fixed in trunk but not in the 2.10 branch
Comment 8 Paolo Borelli 2007-01-13 15:56:14 UTC
Do you mean that the fix is only in svn/trunk? should it be applied tp the 2-10 branch?
Comment 9 Paolo Borelli 2007-01-13 15:56:43 UTC
ah, ok... mid air collision :)
Comment 10 Matthias Clasen 2007-01-13 20:11:38 UTC
Can we identify the fix ?
Carlos ?
Comment 11 Pascal Terjan 2007-01-13 20:25:54 UTC
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;
Comment 12 Matthias Clasen 2007-01-13 21:46:19 UTC
Thats fine to commit to the branch, if anybody wants to beat me to it.
Comment 13 Pascal Terjan 2007-01-13 21:55:38 UTC
Done